var a = [ { name: 'a', child: [{ name: 'bb', limit: 12 }, { name: 'ss', limit: 12 } ] }, { name: 'b', child: [{ name: 'ss', limit: 12 }, { name: 'kk', limit: 12 } ] }, { name: 'c', child: [{ name: 'aa', limit: 12 }, { name: 'mm', limit: 12 } ] }, { name: 'd', child: [{ name: 'aa', limit: 12 }, { name: 'mm', limit: 12 } ] } ]; var b = [ { name: 'b', child: [{ name: 'ss' },{ name:'kk' }] }, { name: 'a', child: [{ name: 'ss' }] } ];我想要找出a里面所有和b name相同的,为什么我找出来是这样的
4 回答

慕妹3146593
TA贡献1820条经验 获得超9个赞
var c = a.filter(e => {
let index = b.findIndex(f => e.name === f.name)
if (index === -1) return false
let child2 = b[index].child
e.child = e.child.filter(g => {
let index = child2.findIndex(h => g.name === h.name)
return index !== -1
})
return true
})
添加回答
举报
0/150
提交
取消