2017-02-09 1 views
0

Ich versuche festzustellen, ob zwei Arrays (a und b in dem Code unten) identisch sind.Vergleichen von zwei Arrays mit Javascript und Rückgabe boolean

Ich habe den folgenden Code geschrieben, aber die for-Schleife bricht, nachdem es einen 'wahren' Wert für jedes Array-Element zurückgibt.

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

Ich denke, dass ich eine jede() Funktion laufen, aber ich kann nicht herausfinden, wie die Funktion zu definieren, die Arrays zu überprüfen Identität zwischen.

Vielen Dank im Voraus.

+0

Zeigen Sie mir Ihre beide Arrays –

Antwort

0

können Sie

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

return true; 

}

oder

a.toString() == b.toString() 
+0

Die 'toString()' Methode kann in vielen Fällen nicht funktionieren, zum Beispiel '[''] .toString() == [] .toString()' –

0

diese Funktion versuchen,

function arraysEqual(a, b) { 
if (a === b) return true; 
for (var i = a.length-1; i>=0;i--) { 

if (a[i] !== b[i]) return false; 
} 
return true; 
} 
Verwandte Themen