嵌套在两个数组中的对象?"/>
如何删除嵌套在两个数组中的对象?
我希望有一个函数来接收类别的名称和该类别之一的名称,并返回没有该项目的整个对象,我该怎么做?
这是到目前为止,我设法通过两个循环找到了要删除的项目,但是我不知道如何删除它。
const removeItem = (categoryName, itemName) => {
const data = loadAll()
data.categories.forEach(category => {
if(category.name === categoryName){
category.items.forEach(item => {
if(item.name === itemName){
// DELETE
}
});
}
});
}
对象:
{
"categories":[
{
"name":"Carne",
"items":[
{
"name":"Bitoque",
"price":10
},
{
"name":"Bife",
"price":8
},
{
"name":"Frango Grelhado",
"price":6
}
]
},
{
"name":"Peixe",
"items":[
{
"name":"Dourada",
"price":12
},
{
"name":"Sardinhas",
"price":8
}
]
},
{
"name":"Entradas",
"items":[
{
"name":"Couvert",
"price":2
}
]
},
{
"name":"Sumos",
"items":[
]
}
]
}
回答如下:一种执行此操作的方法是仅filter
items
,例如
const removeItem = (categoryName, itemName) => {
const data = loadAll()
data.categories.forEach(category => {
if(category.name === categoryName){
category.items = category.items.filter(item => item.name !== itemName);
}
});
}
更多推荐
如何删除嵌套在两个数组中的对象?
发布评论