JS: фильтровать массив объектов, используя второй массив объектов, используя идентификатор - PullRequest
0 голосов
/ 18 июня 2020

У меня есть два массива объектов:

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 Ответ

1 голос
/ 18 июня 2020

объедините фильтр и некоторые для достижения этого

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...