Как обработать кейс в задаче на совпадение по массиву?
Всем привет, подскажите, пожалуйста, как решить задачу.
У меня есть массив данных, который приходит с бэка: const arr2 = [ { id: '1', title: 'one' }, { id: '3', title: 'three' }, { id: '2', title: 'two' }, { id: '4', title: 'four' } ] И массив, по которому я буду искать совпадение данных. const arr1 = [ { id: '1', title: 'one' }, { id: '2', title: 'two' } ] Мне нужно вернуть все совпадения. Например, можно это сделать так: let arrayList = [] for (let i = 0; i < arr2.length; i++) { let obj = arr1.find((a) => { return a.title === arr2[i].title }) if (obj) { arrayList.push(obj) } } Вопрос, как действовать в ситуации, если с бэка, будет меньше данных, чем в массиве по которому я ищу совпадения: const arr2 = [ { id: '1', title: 'one' } ] |
dc65k,
:-? в чём сомнения? |
dc65k,
тоже самое немного по другому <script> const arr2 = [ { id: '1', title: 'one' }, { id: '3', title: 'three' }, { id: '2', title: 'two' }, { id: '4', title: 'four' } ]; const arr1 = [ { id: '1', title: 'one' }, { id: '2', title: 'two' } ]; const arrayFilter = (array, sample) => array.filter(({title : a}) => sample.some(({title : b}) => a === b)); let arrayList = arrayFilter(arr2, arr1); document.write(JSON.stringify(arrayList, "", 4)); </script> |
Спасибо.
|
dc65k,
не плодите однотипные темы |
Цитата:
|
Часовой пояс GMT +3, время: 04:40. |