So vergleichen Sie Objekte in JavaScript

So vergleichen Sie Objekte in JavaScript
In JavaScript ist ein Objekt ein nicht primitiver Datentyp oder eine Entität, die zahlreiche Datensammlungen mit Eigenschaften speichert. Das Vergleich von Zahlen oder Texten ist in JavaScript recht einfach, aber es ist schwieriger, zwei Objekte zu vergleichen. Da JavaScript problemlos zwei Zeichenfolgen vergleichen kann, werden wir die Objekte in Zeichenfolgen umwandeln und dann Vergleichsvorgänge durchführen.

In diesem Tutorial wird die Methoden zum Vergleich von Objekten in JavaScript demonstriert.

So vergleichen Sie Objekte in JavaScript?

Um Objekte in JavaScript zu vergleichen, verwenden Sie die “JSON.Stringify ()" Methode. Mit dem JSON.Stringify () -Methode, der Wert/Objekt wird in eine JSON -Zeichenfolge konvertiert. Um festzustellen, ob die beiden Objekte tatsächlich gleichwertig sind, vergleichen Sie die beiden Ausgänge nach der Verwendung von JSON.Stringify () um die beiden Objekte in Zeichenfolgen umzuwandeln.

Syntax
Folgen Sie der unten erwähnten Syntax zum Vergleich von Objekten mit JSON.Stringify () Methode:

JSON.Stringify (Wert)

Der JSON.Stringify () -Methode nimmt nur einen Parameter ein, nämlich “Wert”, Das ist das JavaScript -Objekt, das in einen JSON -String konvertiert werden soll.

Beispiel 1: Vergleichen Sie Objekte mit denselben Eigenschaften
Erstellen Sie zunächst zwei Objekte mit dem Namen "Info" und "Information"Mit den gleichen Eigenschaften"Name" Und "Alter”:

var info =
Name: "Stephen",
Alter: 25

var Information =
Name: "Stephen",
Alter: 25

Vergleichen Sie dann diese beiden Objekte mit JSON.Stringify () -Methode mit einem strengen Gleichstellungsoperator. Der JSON.Stringify () Methode wandelt Objekte in Zeichenfolgen um und vergleicht dann die resultierenden Zeichenfolgen mit dem strengen Gleichstellungsoperator, der sowohl auf seinem Typ als auch auf dem Wert verglichen wird:

Konsole.Protokoll (JSON.Stringify (info) === json.Stringify (Informationen));

Die Ausgabe zeigt “WAHRDas wird darauf hinweisen, dass beide Objekte gleich sind:

Beispiel 2: Vergleichen Sie Objekte mit denselben Eigenschaften, aber an verschiedenen Stellen
In diesem Beispiel fügen Sie zunächst eine Eigenschaft hinzu "Kontakt"In Objekt" Informationen ":

var Information =
Name: "Stephen",
Kontakt: "2345667",
Alter: 25

Dann vergleichen Sie die Objekte “die Info" Und "InformationMit strengen Gleichstellungsoperator:

Konsole.Protokoll (JSON.Stringify (info) === json.Stringify (Informationen));

Die Ausgabe wird angezeigt "FALSCH„Weil die Platzierung der Eigenschaften des Objekts nicht gleich ist:

Hier stellt sich die Frage, warum wir keinen Gleichstellungsoperator zum Vergleich von Objekten anstelle von JSON verwenden.Stringify () Methode? Folgen Sie dem folgenden Abschnitt.

Warum werden Objekte mit dem Gleichstellungsoperator nicht verglichen??

JavaScript bietet zwei Vergleichsmethoden, einer wird nach Werten verglichen und der andere ist nach Bezugnahme. Die primitiven Typen (Zeichenfolge, Zahlen) werden nach Werten verglichen.

Wie wir wissen, der losen Gleichstellungsoperator “=="Vergleicht Datentypen nach Werten, während der strenge Gleichstellungsoperator"===Vergleicht primitive Datentypen sowohl ihren Typ als auch den Wert. Objekte mit Vergleichsoperatoren “==" Und "===”Kann nicht verglichen werden, da JavaScript Objekte basierend auf ihren Adressen vergleicht.

Überprüfen Sie, ob die Objekte nicht mit Gleichstellungsoperatoren verglichen werden (Operatoren (== Und ===).

Beispiel 1: Verwenden von losen Gleichstellungsoperator (==)
Hier werden wir beide Objekte vergleichen “die Info" Und "InformationDas wird im vorherigen Beispiel mit einem losen Gleichstellungsoperator (==) erstellt:

Konsole.log (info == Informationen)

Die Ausgabe wird angezeigt "FALSCH„Weil die Objekte mit Referenz verglichen werden:

Beispiel 2: Verwenden des strengen Gleichstellungsoperators (===)
Jetzt werden wir beide Objekte mit strengen Gleichstellungsoperator vergleichen:

Konsole.log (info === Informationen)

Ausgang

Wie Sie sehen können, dass die Gleichstellungsoperatoren die Objekte nicht vergleichen. Das JavaScript ermöglicht es, Objekte zu vergleichen, indem sie sie in Zeichenfolgen konvertierenJSON.Stringify ()" Methode.

Wir haben die einfachste Lösung für den Vergleich von Objekten in JavaScript bereitgestellt.

Abschluss

Um Objekte in JavaScript zu vergleichen, können Sie die „verwenden“JSON.Stringify ()Methode, die zuerst einen JavaScript -Wert/Objekt in eine JSON -Zeichenfolge umwandelt, und dann können Sie die zurückgegebenen Zeichenfolgen mit Hilfe des strengen Gleichstellungsoperators vergleichen. Wie Sie wissen, kann JavaScript problemlos zwei Zeichenfolgen vergleichen, aber es ist schwierig, zwei Objekte zu vergleichen. Um festzustellen, ob die beiden Objekte tatsächlich gleichwertig sind, vergleichen Sie die beiden Ausgänge nach der Verwendung von JSON.Stringify () um die beiden Objekte in Zeichenfolgen umzuwandeln. In diesem Handbuch haben wir die Methoden zum Vergleich von Objekten in JavaScript demonstriert.