Как правильно сравнить данные 2-х массивов объектов?

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

const arr1 = [
    {line:"1", id: "2"}, 
    {line:"2", id: "4"}, 
    {line:"4", id: "5"}
]
const arr2 = [
    {example:"112", idExample: "2"},
    {example:"233", idExample: "2"}, 
    {example:"444", idExample: "10"}
]

Как сравнить эти 2 массива и в случае если значения id и idExample равны, то что-то вывести.


Ответы (2 шт):

Автор решения: Ruslan Mirzapulatov

function checkArray(arr1,arr2,key1,key2){
  if(arr1.length != arr2.length) return false;
  let arrSize = arr1.length;
  for(i=0;i<arrSize;i++){
    if(arr1[i][key1]!=arr2[i][key2])return false;
  }
  return true;
}

const arr1 = [
    {line:"1", id: "2"}, 
    {line:"2", id: "4"}, 
    {line:"4", id: "5"}
]
const arr2 = [
    {example:"112", idExample: "2"},
    {example:"233", idExample: "4"}, 
    {example:"444", idExample: "5"}
]
console.log(checkArray(arr1, arr2, 'id', 'idExample'))

const arr3 = [
    {line:"1", id: "2"}, 
    {line:"2", id: "4"}, 
    {line:"4", id: "5"}
]
const arr4 = [
    {example:"112", idExample: "2"},
    {example:"233", idExample: "8"}, 
    {example:"444", idExample: "5"}
]
console.log(checkArray(arr3, arr4, 'id', 'idExample'))

→ Ссылка
Автор решения: Dmitriy Nikoalev
const arr1 = [
    {line:"1", id: "2"}, 
    {line:"2", id: "4"}, 
    {line:"4", id: "5"}
]
const arr2 = [
    {example:"112", idExample: "1"},
    {example:"233", idExample: "2"}, 
    {example:"444", idExample: "10"}
]

arr1.forEach(itemId=>{
  arr2.forEach(itemIdExample=>{
    itemId.id === itemIdExample.idExample ? console.log("верно") : '' 
  })
})

Выведет один раз "верно" так как совпадает только одно значение idExample: 2 и id: 2

→ Ссылка