数组如下:
var arr = [
{id: 1, name: 'aa'},
{id: 2, name: 'bb'}
];
已知aa,如何把aa所在的对象放进新的数组中?
注: 对象中的key都是未知的
数组如下:
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就可以。。。参考其他人的吧
不考虑深拷贝
let result = arr.filter(v => v.name === 'aa')
简单深拷贝
let result = []
arr.forEach(v => {
v.name === 'aa' ? result.push(Object.assign({}, v)) : ''
})
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
4 回答2.4k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决