web-dev-qa-db-fra.com

Comment vérifier un tableau identique de la manière la plus efficace?

Je veux vérifier si les deux tableaux sont identiques (pas du point de vue du contenu, mais dans l’ordre exact).

Par exemple:

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

Les tableaux 1 et 2 sont identiques mais 3 ne l’est pas.

Y at-il un bon moyen de faire cela en JavaScript?

78
ssdesign

Alors, quel est le problème avec la vérification de chaque élément de manière itérative?

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

Vous pouvez comparer les représentations de chaîne de manière:

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

mais cela ferait aussi

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

égal à array1 si cela compte pour vous

40
Adam