[1,2,3].toString()== [3,2,1].toString() ----false 转成字符串比较,但是发现他们只是顺序不相等也被当做不相等
我们可以先把数组排序按照从小到大的顺序sort()函数
[1,2,3].sort().toString()== [3,2,1].sort().toString() ---true 这样的就是"1,2,3"=="1,2,3"结果是相等的
但是你如果你是用的定义好的两个变量
var a=["1","2"];var b=["2","1"];console.log(a==b)
结果是:false
a.toString()==b.toString();
结果是:false
a.sort().toString()==b.sort().toString();
结果是:true
但是你再输出a。b看看
a
["1", "2"]
b
["1", "2"]
实际上使用sort是改变了原来的数组的。
】第二个方法:
// 先判断长度,再遍历比较.every必须每个值都相等才能返回true
function arrayCompare(arr1, arr2) {
return arr1.length == arr2.length && arr1.every((item, index) => item.op == arr2[index].op)
}
//调用上面的函数进行比较
result = arrayCompare(arrone, arrtwo)
console.log(result)