我有一个数据结构。它如下 -
[{
propertyoutsideid: 1,
items: [
{itemId: 1, something: 'something'}.
{itemId: 2, something: 'something'}.
{itemId: 3, something: 'something'}.
]
},{
propertyoutsideid: 2,
items: [
{itemId: 4, something: 'something'}.
{itemId: 5, something: 'something'}.
{itemId: 6, something: 'something'}.
]
}
]
我问一个基本的过滤器问题,但不确定如何解决这个问题,因为这个结构是如何分层的。我正在尝试根据ID删除该项目。
Component.ts
retrieveidfunction(objectwithid){
this.allItems = this.allItems.forEach(res3 => {
return res3.items.filter(res4 => {
return res4.itemId != objectwithid.itemId
}
})
})
}
答案 0 :(得分:1)
将return res4.itemId != this.objectwithid.itemId
更改为
return res4.itemId != objectwithid.itemId
。
let allItems=[{
propertyoutsideid: 1,
items: [
{itemId: 1, something: 'something'},
{itemId: 2, something: 'something'},
{itemId: 3, something: 'something'}
]},{
propertyoutsideid: 2,
items: [
{itemId: 4, something: 'something'},
{itemId: 5, something: 'something'},
{itemId: 6, something: 'something'}
]}]
function retrieveidfunction(objectwithid){
allItems.forEach((res3,i) => {
allItems[i] = res3.items.filter(res4 => {
return res4.itemId != objectwithid.itemId
});
});
}
let objectwithid = {itemId: 4}
retrieveidfunction(objectwithid)
console.log(allItems);