2016-04-07 11 views
0

Ich habe zwei Arrays lassen Sie uns sagen:Vergleicht man zwei Arrays in einer Funktion mit JavaScript

arr1 = ["Parsley", "Shrimps", "Olives", "Mushrooms"]; 

und eine andere, die gleichen Saiten, aber in einer anderen Reihenfolge

arr2 = ["Shrimps", "Parsley", "Mushrooms", "Olives"]; 

Wie kann ich vergleichen sie, damit die Antwort wahr sein muss?

==, === scheint nicht zu funktionieren ... zu überprüfen, ob die Länge beider Arrs die gleiche ist, wird in meinem Fall nicht funktionieren.

+1

Entweder durch alle Werte durchlaufen und überprüfen, ob [es im Ziel-Array existiert] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf) oder sortiere beide Arrays zuerst und durchlaufe sie mit einer einfachen Schleife und vergleiche 'a [i] === b [i] '. – h2ooooooo

+0

Ich habe nicht versucht mit Schleifen, ich werde versuchen, dass wir hoffen, es funktioniert –

+0

Sie können es mit ES6 alle, 'var isBothSame = arr1.every (elm => arr2.indexOf (elm)> - 1); ' –

Antwort

-1

Versuchen Sie, diese

var arr1 = ["Parsley", "Shrimps", "Olives", "Mushrooms"]; 
var arr2 = ["Shrimps", "Parsley", "Mushrooms", "Olives"]; 

var result = arr1.sort().join() === arr2.sort().join(); 
+0

@NinaScholz Bitte führen Sie den Code vor der Markierung bei "funktioniert nicht" – BesLoi

+0

Nein, sie lügt sie hat es getan. ;) @ user2129748 lies die Frage noch einmal. OP sagt, dass die Reihenfolge von 2 Arrays unterschiedlich sein wird. Ihr Code funktioniert nur, wenn die Reihenfolge beider Arrays gleich ist. –

+0

@RajaprabhuAravindasamy, das ist nicht lustig. –

Verwandte Themen