素材牛VIP会员
js数组对象集合过滤
 编***魔  分类:Node.js  人气:1036  回帖:4  发布于6年前 收藏

数组如下:

var arr = [
    {id: 1, name: 'aa'},
    {id: 2, name: 'bb'}
];

已知aa,如何把aa所在的对象放进新的数组中?
注: 对象中的key都是未知的

 标签:node.jsjavascript

讨论这个帖子(4)垃圾回帖将一律封号处理……

Lv4 码徒
骑***火 技术总监 6年前#1
let test = []
arr.forEach(elem => {
    Object.values(elem).forEach(value => {
        if (value === 'aa') {
            test.push(elem)
        }
    })
})
Lv4 码徒
sk***e4 页面重构设计 6年前#2
//var b = arr.map(v => {
//    if (Object.values(v).includes('aa')) return v
//}).filter(v => v)

蠢了,直接filter就可以。。。参考其他人的吧
Lv6 码匠
lx***rx UI设计师 6年前#3
arr.filter(v=>Object.values(v).includes('aa'))
Lv1 新人
he***21 UI设计师 6年前#4

不考虑深拷贝

let result = arr.filter(v => v.name === 'aa')

简单深拷贝

let result = []
arr.forEach(v => {
    v.name === 'aa' ? result.push(Object.assign({}, v)) : ''
})
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取