给我写一个核实两个数组是否相等的函数
时间: 2025-01-26 07:05:57 浏览: 26
在编程中,我们可以创建一个函数来比较两个数组是否相等,通常这意味着它们不仅长度相同,而且元素也完全一致。这里是一个简单的JavaScript函数示例,用于验证两个数组的深复制是否相等:
```javascript
function arraysEqual(arr1, arr2) {
// 首先检查数组长度是否相等
if (arr1.length !== arr2.length) {
return false;
}
// 使用双重循环遍历每个元素并比较
for (let i = 0; i < arr1.length; i++) {
if (!arraysEqualHelper(arr1[i], arr2[i])) {
return false;
}
}
// 如果所有元素都匹配,则返回true
return true;
// 辅助函数,递归比较复杂类型的元素
function arraysEqualHelper(obj1, obj2) {
if (obj1 === obj2) return true; // 对于基本类型,直接比较
if (typeof obj1 !== typeof obj2 || Array.isArray(obj1) !== Array.isArray(obj2)) return false; // 检查类型和数组类型
if (Array.isArray(obj1)) { // 如果都是数组
return obj1.length === obj2.length && obj1.every((item, index) => arraysEqualHelper(item, obj2[index]));
} else { // 对于非数组对象,深度比较属性
const keys1 = Object.keys(obj1);
const keys2 = Object.keys(obj2);
if (keys1.length !== keys2.length) return false;
return keys1.every(key => arraysEqualHelper(obj1[key], obj2[key]));
}
}
```
这个函数会逐个检查数组的元素,并对嵌套结构的对象进行深度比较。
阅读全文
相关推荐

















