gpt4 book ai didi

javascript - 过滤数组内的对象

转载 作者:行者123 更新时间:2023-12-02 22:46:53 25 4
gpt4 key购买 nike

我需要删除整个未通过的对象

这是数组

const array = [{
course: 1,
list: [{
id: 1,
name: "john",
code: true
},
{
id: 1,
name: "maria",
code: true
},
]
},
{
course: 2,
list: [{
id: 3,
name: "rose"
},
{
id: 4,
name: "mark",
code: true
}
]
}
]

我需要的是删除没有 code:true 的 obj,然后得到这个

const array = [{
course: 1,
list: [{
id: 1,
name: "john",
code: true
}, ]
},
{
course: 2,
list: [{
id: 1,
name: "mark",
code: true
}]
}
]

我尝试在过滤器内制作 map ,但它根本不起作用

const remove = array.filter(function(lines) {
return lines.map(line => line.list.map(list => list.code))
});

最佳答案

可以通过数组进行映射,然后复制特定项的所有属性,并单独对列表属性进行过滤。

const array = [{
course: 1,
list: [{
id: 1,
name: "john",
code: true
},
{
id: 1,
name: "maria",
code: true
},
]
},
{
course: 2,
list: [{
id: 3,
name: "rose"
},
{
id: 4,
name: "mark",
code: true
}
]
}
]

const filter = arr => arr.map(arrItem => ({
...arrItem,
list: arrItem.list.filter( listItem => listItem.code )
})
)

console.log( filter(array) )

关于javascript - 过滤数组内的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58364099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com