Всем добрый вечер. Имеется два массива с одинаковыми объектами только переставленными местами:
Как можно проверить что имеется один и тот же набор данных в обоих массивах независимо от порядка, написал такой код, можно как-то упростить все это?:
let arr1 = [{owner: "human1", phone: 111}, {owner: "human2", phone: 222}, {owner: "human3", phone: 333}];
let arr2 = [{owner: "human3", phone: 333}, {owner: "human1", phone: 111}, {owner: "human2", phone: 222}];
for (let i = 0; i < arr1.length; i++) {
for (let j = 0; j < arr2.length; j++) {
if (arr1[i].phone === arr2[j].phone) { //если встречаются равные элементы, добавляю свойство done='ok'
arr1[i].done = "ok";
arr2[j].done = "ok";
}
}
}
let flag = false;
for (let i = 0; i < arr1.length; i++) { //если у всех элементов из двух масивов есть свойство done='ok', то массивы равны
if (arr1[i].done === "ok" && arr2[i].done === "ok") {
flag = true;
} else {
flag = false;
break;
}
}
flag ? console.log("равно") : console.log("не равно");