我有一个名为的数组restaurant_items
。它有objects
哪些是餐厅的项目,每个对象都有一个array
叫做in_menu它也有objects
。
我想过滤属于特定的餐厅项目menu_id
。这意味着嵌套的过滤器功能。
我想通过menu_id 3并获得预期的输出项目Burger和Pizza。
如何使用Java脚本过滤器实现此目标?
const restaurant_items = [
{
name:"Burger",
in_menu:[{
id:1,menu_id:3
},{
id:2,menu_id:5
}
]
},
{
name:"Pizza",
in_menu:[{
id:1,menu_id:3
},{
id:3,menu_id:9
}
]
},
{
name:"Donuts",
in_menu:[{
id:8,menu_id:6
},{
id:4,menu_id:8
}
]
}]
您可以Array.some()
在过滤器内部使用获取具有指定菜单ID的项目:
const restaurant_items = [{"name":"Burger","in_menu":[{"id":1,"menu_id":3},{"id":2,"menu_id":5}]},{"name":"Pizza","in_menu":[{"id":1,"menu_id":3},{"id":3,"menu_id":9}]},{"name":"Donuts","in_menu":[{"id":8,"menu_id":6},{"id":4,"menu_id":8}]}]
const filterByMenuId = (menuId) =>
restaurant_items.filter(item => item.in_menu.some(o => o.menu_id === menuId))
const result = filterByMenuId(3)
console.log(result)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句