Wie zu erkennen, array Gleichheit in JavaScript?
Gibt es zwei arrays in JavaScript sind Sie beide im folgenden format:
[{'drink':['alcohol', 'soft', 'hot']}, {'fruit':['apple', 'pear']}];
Brauche ich, um zu erkennen, ob die beiden arrays gleich sind oder nicht. Sie gelten als gleich, wenn Sie dieselben Elemente enthalten, die in einer anderen Reihenfolge. Wie kann ich das machen?
- Würden Sie Sie gleich, wenn Sie dieselben Elemente enthalten, die in einer anderen Reihenfolge, oder haben Sie Ident zu sein, sowohl in Inhalt und Reihenfolge? Ist der Fall wichtig?
- Meinst du auch die überprüfung verschiedener Bestell-rekursiv? Wenn sich die zweite array ist
[{'fruit':['pear', 'apple']}, {'drink':['alcohol', 'hot', 'soft']}]
als Elemente betrachtet, gleich das array, das Sie gezeigt haben? (Hinweis: die pear/apple Austausch) - Ist der Fall wichtig, also sollte die Birne und BIRNE werden als die gleichen?
- mögliche Duplikate von wie zu prüfen, javascript array entspricht?
- mögliche Duplikate von Wie Sie wissen, ob zwei arrays die gleichen Werte
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn
1
und2
sind beide das gleiche, das array gleich ist.Funktion zum vergleichen von Objekten/arrays:
Looping durch echte arrays erreicht werden kann, durch
for(var i=0; i<array.length; i++)
.Zu Fuß durch die Eigenschaften eines solchen Objekts kann erfolgen, indem
for(var i in object)
.Wenn Sie nicht verstehen, die Funktion, fühlen Sie sich frei zu beantragen, eine Erklärung in den Kommentaren.
isSame([1,2], [2,1])
. Die Reihenfolge der Elemente ist oft wichtig. Auch ich habe gerade ein Benchmark mit unseren Funktionen, und meine Funktion ist drei mal schneller: jsfiddle.net/Kv383/1.Ist deine Frage damit beantwortet?
Wie um zu überprüfen, ob zwei arrays gleich sind mit JavaScript?
http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256BFB0077DFFD
Haben Sie einen Blick hier, das zweite Beispiel ist eine Funktion, die macht genau das.
Eine ähnliche Funktion, die nicht die gleiche Sache finden Sie am Ende dieser Seite.
http://zeeohemgee.blogspot.com/2006/07/comparing-and-copying-arrays-in.html
Hoffe, das hilft
Cheers
Können Sie versuchen, diese
JSON.stringify(array1)===JSON.stringify(array2);
wenn Sie möchten, dass die Bestellung auch identisch in beiden arrays.Mit Javascript, Sie können nicht überprüfen, ob die arrays sind gleich, aber vergleichen kann man Sie wie folgt:
Den
sort
setzen alle Elemente in der gleichen Reihenfolge, und wenn beide<
und>
Vergleiche die falsch sind, es bedeutet beides das gleiche.