Как сравнить два массива по конкретному элементу?

Есть два массива:

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]]);
  }
}

если нет, то уточните более подробно пожалуйста

→ Ссылка