数组顺序不同判断相等
时间: 2023-11-17 07:05:31 浏览: 88
js判断数组是否相等的方法
如果你想判断两个顺序不同但元素相同的数组是否相等,可以使用以下方法:
1. 对数组进行排序,再进行比较。这种方法可以保证两个相同的数组经过排序后一定是一样的。示例代码如下:
```javascript
function arraysEqual(arr1, arr2) {
if (arr1.length !== arr2.length) return false;
var sortedArr1 = arr1.slice().sort();
var sortedArr2 = arr2.slice().sort();
for (var i = 0; i < sortedArr1.length; i++) {
if (sortedArr1[i] !== sortedArr2[i]) return false;
}
return true;
}
// 示例用法
var arr1 = [1, 2, 3];
var arr2 = [3, 2, 1];
console.log(arraysEqual(arr1, arr2)); // 输出 true
```
2. 将数组转换为字符串,再进行比较。这种方法可以保证两个相同的数组经过转换为字符串后一定是一样的。但要注意的是,如果数组里面的元素是对象或者数组,这个方法就不适用了。示例代码如下:
```javascript
function arraysEqual(arr1, arr2) {
if (arr1.length !== arr2.length) return false;
var str1 = arr1.toString();
var str2 = arr2.toString();
return str1 === str2;
}
// 示例用法
var arr1 = [1, 2, 3];
var arr2 = [3, 2, 1];
console.log(arraysEqual(arr1, arr2)); // 输出 true
```
这两种方法都可以判断顺序不同但元素相同的数组是否相等。你可以根据自己的需求选择合适的方法。
阅读全文