js判断两个数组是否相等

1、 将两个数组转成字符串比较,但是发现他们只是顺序不相等也被当做不相等

[1,2,3].toString()== [3,2,1].toString() ----false

2、我们可以先把数组排序按照从小到大的顺序sort()函数

[1,2,3].sort().toString()== [3,2,1].sort().toString() —true 这样的就是"1,2,3"=="1,2,3"结果是相等的

3、如果数组里的元素是标量,非object类型,可以使用==比较数组里的元素:

scalarArrayEquals(array1,array2) {
return array1.length==array2.length && array1.every(function(v,i) { return v === array2[i]});
}

/**
 * JS判断两个数组是否相等
 * @param {Array} arr1
 * @param {Array} arr2
 * @returns {boolean} 返回true 或 false
 */
function arrayEqual(arr1, arr2) {if (arr1.length != arr2.length) return false;
    for (var i = 0; i < arr1.length; ++i) {
        if (arr1[i] !== arr2[i]) return false;
    }
    return true;
}
原文地址:https://www.cnblogs.com/lyt0207/p/14034055.html