1.需求
let array1 = [{col: "8", row: "5", seatName: "5排7座"}, {col: "9", row: "5", seatName: "5排8座"}];
let array2 = [{col: "9", row: "5", seatName: "5排8座"}, {col: "8", row: "5", seatName: "5排7座"}];
判断这个两个数组相等吗 是否相同
顺序不同
2.解决
//判断两个数据是否一样
arraysAreEqual(array1, array2) {
// 确保两个数组长度相同
if (array1.length !== array2.length) {
return false;
}
// 创建一个Set来存储array1的元素,以便快速查找
const set1 = new Set(array1.map(item => JSON.stringify(item)));
// 遍历array2,检查每个元素是否也在set1中
for (const item of array2) {
const stringifiedItem = JSON.stringify(item);
if (!set1.has(stringifiedItem)) {
return false;
}
}
}
一个函数
// 调用函数判断两个数组是否相同
if (arraysAreEqual(array1, array2)) {
console.log("两个数组相同(考虑顺序不同)");
} else {
console.log("两个数组不同");
}