So vergleichen Sie zwei Arrays in JavaScript

So vergleichen Sie zwei Arrays in JavaScript
Um zwei Variablen in JavaScript zu vergleichen. Das erste ist das Double Equals "==", das zwei Operandenwerte überprüft, und das zweite ist das Triple -Equals "===", das den Wert sowie den Datentyp der Operanden überprüft.

Wir können den Gleichstellungsoperator jedoch nicht zum Vergleich der Arrays verwenden. Der Grund dafür ist, dass JavaScript -Array ein Objekttyp ist und Objekte basierend auf den Referenzen der Variablen und nicht auf den Werten verglichen werden.

const array1 = [1, 2, 3];
const array2 = [1, 2, 3];
Konsole.log (array1 === array2); // FALSCH
Konsole.log (Array1 == Array2); // FALSCH

Im obigen Code haben wir zwei Arrays initialisiert, die gleich sind. In der Ausgabe werden wir jedoch sehen FALSCH:

Um dieses Problem zu lösen, werden wir in diesem Beitrag einige Möglichkeiten lernen, zwei Arrays in JavaScript zu vergleichen.

Methode 1: toString ()

Der tostring () Die Methode ist eine eingebaute Methode von JavaScript, die jeden Datentyp wie Ganzzahl in eine Zeichenfolge umwandelt und diese Ganzzahlnummer dann als Zeichenfolge zurückgibt. Wir können das anwenden tostring () Methode in einem Array, das das Array in eine Zeichenfolge umwandelt und dann die Zeichenfolge mit der anderen Zeichenfolge verglichen wird.

const array1 = [1, 2, 3];
const array2 = [1, 2, 3];
const array3 = [4, 5, 6];
Konsole.Protokoll (Array1.toString () == Array2.tostring ()); // WAHR
Konsole.Protokoll (Array1.toString () === Array3.tostring ()); // FALSCH

Im obigen Code haben wir drei Arrays initialisiert und dann die angewendet tostring () Methode auf den Arrays und verglichen zuerst das Array1 mit Array2 und gab das Ergebnis in der Konsole zurück. Auf die gleiche Weise haben wir Array1 mit Array3 und Konsolenprotokoll das Ergebnis verglichen:

Aus der obigen Ausgabe können wir feststellen, dass „Array1“ gleich „Array2“ ist, aber „Array1“ nicht gleich „Array3“ ist.

Methode 2: Verwenden Sie für Schleife

Lassen Sie uns eine andere Methode durchlaufen, bei der wir die Elemente von zwei Arrays manuell überprüfen und dann eine Ausgabe erzeugen. Lassen Sie mich zuerst den Code zeigen:

Funktion vergleiche ()
const array1 = [1, 2, 3];
const array2 = [4, 5, 6];
// Überprüfen Sie zunächst die Länge beider Arrays
// Wenn die Länge nicht gleich ist, sind Arrays unterschiedlich
if (Array1.Länge!= Array2.Länge)
falsch zurückgeben";
anders
// Überprüfen Sie jedes Element der beiden Arrays
für (var i = 0; iif (array1 [i]!= Array2 [i])
falsch zurückgeben";
zurück "wahr";


Konsole.log (vergleichearRays ()); // FALSCH

Im obigen Code haben wir eine Funktion definiert, bei der wir zuerst zwei Arrays initialisiert haben. Danach setzen wir eine Bedingung, um die Länge der Arrays zu überprüfen.

Wenn die Länge der beiden Arrays nicht gleich ist, bedeutet dies, dass die beiden Arrays unterschiedlich sind, weshalb die Funktion falsch zurückgibt.

Wenn die Länge jedoch gleich ist, haben wir eine für die Schleife festgelegt, wo wir jedes Element beider Arrays überprüfen werden. Wenn auch ein Element nicht gleich ist, wird Falsch zurückgegeben. Wenn alle Elemente beider Arrays übereinstimmen, wird es wahr zurückgegeben.

Die Ausgabe des obigen Codes ist unten angezeigt:

Wenn wir den Code ein wenig ändern, indem wir zwei Arrays bereitstellen, die gleich e sind.G:

Funktion vergleiche ()
const array1 = [1, 2, 3];
const array2 = [1, 2, 3];
// Länge beider Arrays überprüfen
// Wenn die Länge nicht gleich ist, sind Arrays unterschiedlich
if (Array1.Länge!= Array2.Länge)
falsch zurückgeben";
anders
// Überprüfen Sie jedes Element der beiden Arrays
für (var i = 0; iif (array1 [i]!= Array2 [i])
falsch zurückgeben";
zurück "wahr";


Konsole.log (vergleichearRays ()); // WAHR

Die folgende Ausgabe wird erzeugt:

Abschluss

Wir können zwei Arrays im JavaScript nicht mit dem Gleichheitsoperator == oder === vergleichen, da JavaScript -Arrays Objekte sind und daher die Referenz überprüft wird und nicht Werte. Zu diesem Zweck haben wir in diesem Beitrag zwei Methoden definiert, um Arrays zu vergleichen. Bei der ersten Methode haben wir die integrierte Methode verwendet tostring () Wo wir die Arrays zuerst in die Zeichenfolge konvertierten und dann die beiden zurückgegebenen Zeichenfolgen mit dem Gleichstellungsoperator überprüft haben. In der zweiten Methode haben wir zuerst die Länge manuell überprüft und dann alle Elemente der beiden Arrays nacheinander mit der für die Loop.