Как проверить одинаковый массив наиболее эффективным способом?

Я хочу проверить, идентичны ли эти два массива (не содержательно, а в точном порядке).

Например:

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

Массивы 1 и 2 идентичны, но 3 не являются.

Есть ли хороший способ сделать это в JavaScript?

Ответ 1

Итак, что неправильно с проверкой каждого элемента итеративно?

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;
}

Ответ 2

Вы можете сравнить представления String так:

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

но это также сделает

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

равный array1, если это важно для вас