У меня есть структура javascript, как показано ниже (вложенные массивы объектов)
var categoryGroups = [
{
Id: 1, Categories: [
{ Id: 1 },
{ Id: 2 },
]
},
{
Id: 2, Categories: [
{ Id: 100 },
{ Id: 200 },
]
}
]
Я хочу найти дочерний объект Category, соответствующий идентификатору, при условии, что идентификатор категории уникален.
У меня есть это ниже, но было интересно, есть ли более сжатый способ сделать это:
var category, categoryGroup, found = false;
for (i = 0; i < categoryGroups.length ; i++) {
categoryGroup = categoryGroups[i];
for (j = 0; j < categoryGroup.Categories.length; j++) {
category = categoryGroup.Categories[j];
if (category.Id === id) {
found = true;
break;
}
}
if (found) break;
}