如何以最有效的方式检查相同的数组?

时间:2010-10-26 16:48:35

标签: javascript arrays comparison

我想检查两个数组是否相同 (不是内容明智,但按照确切的顺序)。

例如:

 array1 = [1,2,3,4,5]
 array2 = [1,2,3,4,5]
 array3 = [3,5,1,2,4]

阵列1和2相同但3不相同。

在JavaScript中有一个很好的方法吗?

2 个答案:

答案 0 :(得分:132)

那么,迭代检查每个元素有什么问题?

function arraysEqual(arr1, arr2) {
    if(arr1.length !== arr2.length)
        return false;
    for(var i = arr1.length; i--;) {
        if(arr1[i] !== arr2[i])
            return false;
    }

    return true;
}

答案 1 :(得分:39)

您可以比较字符串表示形式:

array1.toString() == array2.toString()
array1.toString() !== array3.toString()

但这也会使

array4 = ['1',2,3,4,5]

等于array1,如果这对你很重要