Wie man zwei Arrays in JavaScript vergleicht
-
Array.prototype.equals
zum Vergleichen zweier Arrays in JavaScript -
JSON.stringify()
zum Vergleichen von Arrays in JavaScript - Zwei Arrays in JavaScript mit Schleifen vergleichen
Dieses Tutorial stellt drei Möglichkeiten vor, Arrays in JavaScript zu vergleichen. Es gibt mehrere Möglichkeiten, dies zu tun, aber die Leistung kann variieren.
Array.prototype.equals
zum Vergleichen zweier Arrays in JavaScript
JavaScript bietet uns die Möglichkeit, neue Eigenschaften und Methoden zu den bestehenden Klassen hinzuzufügen. Wir können Array.prototype
verwenden, um unsere benutzerdefinierte Methode equals
in das Array-Objekt einzufügen.
Im folgenden Beispiel überprüfen wir zunächst die Länge der beiden Arrays und vergleichen dann jedes Element. Wir prüfen auch, ob a1
und a2
Array
-Instanzen sind, denn wenn nicht, sind sie nicht identisch. Zuletzt verwenden wir die Methode, um das erste Array mit dem zweiten durch a1.equals(a2)
zu vergleichen.
Beispiel:
var a1 = [1, 2, 3];
var a2 = [1, 2, 3];
var a3 = [1, 2, 3, 4];
Array.prototype.equals = function(getArray) {
if (this.length != getArray.length) return false;
for (var i = 0; i < getArray.length; i++) {
if (this[i] instanceof Array && getArray[i] instanceof Array) {
if (!this[i].equals(getArray[i])) return false;
} else if (this[i] != getArray[i]) {
return false;
}
}
return true;
};
console.log('Comparing a1 and a2', a1.equals(a2));
console.log('Comparing a1 and a3', a1.equals(a3));
Ausgabe:
Comparing a1 and a2 true
Comparing a1 and a3 false
JSON.stringify()
zum Vergleichen von Arrays in JavaScript
Eine andere Technik zum Vergleich zweier Arrays besteht darin, sie zunächst auf den String-Typ zu casten und dann zu vergleichen. JSON
wird verwendet, um Daten von/zu einem Webserver zu übertragen, aber wir können seine Methode hier verwenden. Wir können dies tun, indem wir JSON.stringify()
verwenden, das ein Array
in eine Zeichenkette
umwandelt. Da nun sowohl die a1
als auch die a2
Zeichenketten sind, können wir ===
benutzen, um zu sehen, ob sie gleich sind oder nicht.
Beispiel:
var a1 = [1, 2, 3];
var a2 = [1, 2, 3];
var a3 = [1, 2, 3, 4];
console.log('Comparing a1 and a2', JSON.stringify(a1) === JSON.stringify(a2));
console.log('Comparing a1 and a3', JSON.stringify(a1) === JSON.stringify(a3));
Ausgabe:
Comparing a1 and a2 true
Comparing a1 and a3 false
Zwei Arrays in JavaScript mit Schleifen vergleichen
Die Schleifenbildung ist die traditionellste Art des Vergleichs von Arrays in JavaScript, da die Arrays in einer Schleife durchlaufen und dann jedes einzelne Element miteinander verglichen wird, um zu prüfen, ob sie übereinstimmen.
Um es sauberer zu machen, können wir Funktionen verwenden und dann als Ergebnis boolisch
zurückgeben.
Beispiel:
var a1 = [1, 2, 3];
var a2 = [1, 2, 3];
var a3 = [1, 2, 3, 4];
const getResult = function(a1, a2) {
var i = a1.length;
if (i != a2.length) return false;
while (i--) {
if (a1[i] !== a2[i]) return false;
}
return true;
};
console.log('Comparing a1 and a2', getResult(a1, a2));
console.log('Comparing a1 and a3', getResult(a1, a3));
Ausgabe:
Comparing a1 and a2 true
Comparing a1 and a3 false
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInVerwandter Artikel - JavaScript Array
- Überprüfen Sie, ob das Array einen Wert in JavaScript enthält
- Array mit bestimmter Länge in JavaScript erstellen
- Konvertieren ein Array in einen String in JavaScript
- Erstes Element aus einem Array in JavaScript entfernen
- Objekte aus einem Array in JavaScript suchen
- Konvertieren von Argumenten in ein Array in JavaScript