我有两个对象数组:
let array1 = [{ id:'1232', name: 'foo'}, { id: '3442', name: 'moo'}, {id: '3144', name: 'coo'}]
let array2 = [{ id:'3442', value: 'some'}, { id:'5553', value: 'somevalue'}, {id: '3144', value: 'lala'}]
使用JS,如何通过array1
过滤array2
,以便预期的输出为:
let filtered = [{ id: '3442', name: 'moo'}, { id: '3144', name: 'coo'}]
非常感谢您的时间!
答案 0 :(得分:1)
combine过滤器和一些实现此目的
let array1 = [{ id:'1232', name: 'foo'}, { id: '3442', name: 'moo'}, {id: '3144', name: 'coo'}]
let array2 = [{ id:'3442', value: 'some'}, { id:'5553', value: 'somevalue'}, {id: '3144', value: 'lala'}]
output=array1.filter(x=>array2.some(y=>y.id==x.id))
console.log(output)