1、 将两个数组转成字符串比较
[1, 2, 3].toString()
// "1, 2, 3"
1.1但是发现他们只是顺序不相等也被当做不相等
[1, 2, 3].toString() === [3, 2, 1].toString()
// false
1.2我们可以先把数组排序按照从小到大的顺序sort()函数
[1, 2, 3].sort().toString() === [3, 2, 1].sort().toString()
// true
2、 如果数组里的元素是标量,非object类型,可以使用===比较数组里的元素:
var scalarArrayEquals = function(array1,array2) {
array1.sort((a, b) => a.localeCompare(b))
array2.sort((a, b) => a.localeCompare(b))
return array1.length === array2.length && array1.every((v,i) => { return v === array2[i] });
}
原文地址:js中判断两个数组是否相等的方法