如何将嵌套数组值与父对象中的对象进行比较,如果不匹配则删除该对象?我需要遍历整个数组,以便在子级中只剩下与父级“模块”匹配的“模块”。
Here is the image of the console to see my array structure.
for (var i = topicArray.length - 1; i >= 0; i--) {
if (topicArray[i].module !== module)
topicArray.splice(i, 1) }
答案 0 :(得分:2)
一种选择是遍历每个项目,然后简单地filter()
淘汰不匹配的模块:
const data = [
{
module: 'A',
topics: [
{ topic: 'something', module: 'A' },
{ topic: 'something else', module: 'B' }
]
},
{
module: 'B',
topics: [
{ topic: 'something', module: 'A' },
{ topic: 'something else', module: 'B' }
]
}
]
data.forEach(item => {
item.topics = item.topics.filter(topic => item.module === topic.module)
})
console.log(data)