数组如下:
var arr = [ {id: 1, name: 'aa'}, {id: 2, name: 'bb'} ];
已知aa,如何把aa所在的对象放进新的数组中?注: 对象中的key都是未知的
let test = [] arr.forEach(elem => { Object.values(elem).forEach(value => { if (value === 'aa') { test.push(elem) } }) })
//var b = arr.map(v => { // if (Object.values(v).includes('aa')) return v //}).filter(v => v) 蠢了,直接filter就可以。。。参考其他人的吧
arr.filter(v=>Object.values(v).includes('aa'))
不考虑深拷贝
let result = arr.filter(v => v.name === 'aa')
简单深拷贝
let result = [] arr.forEach(v => { v.name === 'aa' ? result.push(Object.assign({}, v)) : '' })