Как правильно сравнить данные 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