Как сравнить два массива по конкретному элементу?
Есть два массива:
arr1=[{"id":"628db816eca22c8ffbdb3262", "location": false, ...}]
arr2=[{"newId":"628db816eca22c8ffbdb3262", "item":"apple", ...}]
Как сравнить эти два массива по id и newId и несовпадения добавить в новый массив?
Ответы (1 шт):
Автор решения: Artyom
→ Ссылка
Если речь идёт о том, что мы проверяем первый элемент arr1 с первым элементом arr2 и так далее, то вот такой вариант:
const arr1 = [
{ id: '628db816eca22c8ffbdb3262', location: false },
{ id: '34', location: false },
];
const arr2 = [
{ newId: '34', item: 'apple' },
{ newId: '2523', item: 'apple' },
];
const difference = [];
for (let i = 0; i < arr1.length; i++) {
if (arr1[i].id !== arr2[i].newId) {
difference.push([arr1[i], arr2[i]]);
}
}
если нет, то уточните более подробно пожалуйста