JS:使用ID使用第二个对象数组过滤对象数组

时间:2020-06-18 13:57:06

标签: javascript arrays filter

我有两个对象数组:

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'}]

非常感谢您的时间!

1 个答案:

答案 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)