Как обработать кейс в задаче на совпадение по массиву?
Всем привет, подскажите, пожалуйста, как решить задачу.
У меня есть массив данных, который приходит с бэка:
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, время: 15:37. |