Heim >Web-Frontend >js-Tutorial >Wie kann ich den Unterschied zwischen zwei Arrays in JavaScript finden?

Wie kann ich den Unterschied zwischen zwei Arrays in JavaScript finden?

Barbara Streisand
Barbara StreisandOriginal
2024-12-20 02:39:16224Durchsuche

How Can I Find the Difference Between Two Arrays in JavaScript?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn