Bestimmen des Unterschieds zwischen zwei Arrays in JavaScript
Einführung:
Bestimmen des Unterschieds zwischen zwei Arrays ist eine häufige Aufgabe in JavaScript. Der Unterschied kann als die Elemente definiert werden, die in einem Array vorhanden sind, im anderen jedoch nicht. Dieser Artikel bietet mehrere Ansätze, um dies mit den integrierten Methoden von JavaScript zu erreichen.
Schnittpunkt und Differenz:
Ein Ansatz ist die Verwendung von Array.prototype.includes() Verfahren. Es kann sowohl zum Ermitteln der Schnittmenge (gemeinsame Elemente) als auch der Differenz zwischen zwei Arrays verwendet werden.
Schnittmenge:
let intersection = arr1.filter(x => arr2.includes(x));
Dieser Filter erzeugt ein Array, das die enthält Elemente, die arr1 und gemeinsam sind arr2.
Unterschied:
let difference = arr1.filter(x => !arr2.includes(x));
Dieser Filter erstellt ein Array mit den Elementen, die nur in arr1 vorhanden sind, nicht in arr2.
Symmetrische Differenz:
Außerdem möchte man möglicherweise die bestimmen „exklusives Oder“ (symmetrische Differenz) zwischen zwei Arrays, das aus eindeutigen Elementen beider Arrays besteht. Dies kann durch die Kombination der Differenz beider Arrays erreicht werden:
let symDifference = arr1.filter(x => !arr2.includes(x)) .concat(arr2.filter(x => !arr1.includes(x)));
Verbesserung:
Zur besseren Benutzerfreundlichkeit ist es möglich, eine benutzerdefinierte Methode für Array zu definieren. Prototyp, der die direkte Verwendung auf Arrays ermöglicht:
Array.prototype.diff = function(arr2) { return this.filter(x => !arr2.includes(x)); }
Mit dieser Erweiterung kann man leicht bestimmen Unterschied:
[1, 2, 3].diff([2, 3]) // [1]
Das obige ist der detaillierte Inhalt vonWie kann ich den Unterschied zwischen zwei Arrays in JavaScript finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!