Wie zu vergleichen, zwei arrays in node js?
Ich habe zwei arrays, wie Vergleiche ich die beiden arrays auf single shot.
var arr1= ["a","b","c"];
var arr2 = ["a","c","d"]
if(arr1 == arr2){
console.log(true);
}else{
console.log(false);
}
InformationsquelleAutor gauti | 2012-11-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Seite Hinweis: für Sonderfälle:
===
wird oft als leicht gebrochen für diese Art von Aufgabe, weilNaN
verhält sich unerwartet:Den obigen code tatsächlich Protokolle
false
weilNaN !== NaN
. Darüber hinaus===
können nicht unterscheiden+0
aus-0
. Für diese Fälle könnte ein stärker Vergleich bekannt als "egal" oder "ist", das kann leicht umgesetzt werden, etwa so:Beachten Sie, dass diese möglicherweise falsche Ergebnisse bei arr1 kürzer ist dann arr2 - versuchen:
var arr1 = [ 'a', 'b' ], arr2 = ['a','b','c'];
Gehören eine einfache Länge-Vergleich vor dem jeder, und Sie sind fertig:if( arr1.length === arr2.length && arr1.every( ...
Sehr guter Punkt, Erwin. Ich habe aktualisiert auf meine Antwort auf die Dauer-test, die Sie vorgeschlagen haben. Danke!
wenn der Wert vorhanden ist, aber in der anderen position, dann wird dieser Algorithmus noch funktioniert?
Dies setzt Voraus, die beiden arrays werden sortiert auf die gleiche Weise.
InformationsquelleAutor Nathan Wall
Ich würde unterstreichen.
_ = require('underscore'); _.difference(["a","c"], ["a","c","d"]).length;
gibt:0
Gleiche fürlodash
.InformationsquelleAutor staackuser2
[ES6]
Top-Antwort ist gut & genug.
Aber wenn Sie nur wollen, zu vergleichen, Ihre Werte sind gleich, Sie zu Sortieren es vor.
hier müssen Sie keine Bankleitzahl.
.. Und ich denke, mit ein 'paar' statt 'jeder' ist besser.
Wenn diese nicht gleichen, 'einige' gibt Ihnen einen frühzeitigen Ausstieg. - sehr wenig zu früh, aber zu früh 😉
InformationsquelleAutor Taihwan Hah
Hier ist noch einer, ohne ES5
every
:InformationsquelleAutor incarnate
Ich wollte fügen Sie einige änderungen an den code von 'Taihwan Hah', aber konnte nicht einen Kommentar hinterlassen (das system mir gesagt)
So, hier ist meine modifs:
ich hatte grundsätzlich zu prüfen, aber-array, da meine arrays nicht mit eindeutigen zahlen.
InformationsquelleAutor LeRoss
Möchte ich verbessern die Antwort von staackuser2 ein wenig:
oder
InformationsquelleAutor Robin Cai