Мой вариант использования примерно такой.
- У меня есть массив, в котором есть объект.
- что у каждого объекта есть массив с именем
menu
- Опять этот массив меню возражал.
- что у каждого объекта есть массив
dish_has_categories
- В массиве
dish_has_categories
, если существует объект с CategoryId, равным 8
Я хочу отфильтровать этот корневой объект.
Мой исходный объект данных
const data = [{
menuName: "Hot dogs",
menu: [
{
dishId: '1',
dish_has_categories: [{
CategoryId: '8'
}]
},
{
dishId: '2',
dish_has_categories: [{
CategoryId: '9'
}]
}]
},
{
menuName: "Burgers",
menu: [{
dishId: '3',
dish_has_categories: [{
CategoryId: '6'
}]
}, {
dishId: '4',
dish_has_categories: [{
CategoryId: '4'
}]
}]
},
{
name: "Drinks",
menu: []
}
]
Мой ожидаемый результат
[{
menuName: "Hot dogs",
menu: [
{
dishId: '1',
dish_has_categories: [{
CategoryId: '8'
}]
},
{
dishId: '2',
dish_has_categories: [{
CategoryId: '9'
}]
}]
}]
что я сделал до сих пор это
const data2 = data.filter(element => {
return element.menu.length > 0
})
Я понятия не имею, как глубоко фильтровать вложенные объекты и массивы. Надеюсь, мой вопрос всем вам понятен.