Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Set.prototype.difference()

Baseline 2024
Neu verfügbar

Seit Juni 2024 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.

Die Methode difference() von Set-Instanzen nimmt eine Menge entgegen und gibt eine neue Menge zurück, die die Elemente dieser Menge enthält, die nicht in der übergebenen Menge enthalten sind.

Syntax

js
difference(other)

Parameter

other

Ein Set-Objekt oder ein set-artiges Objekt.

Rückgabewert

Ein neues Set-Objekt mit den Elementen dieser Menge, die nicht in der Menge other enthalten sind.

Beschreibung

In mathematischer Schreibweise ist die Differenz wie folgt definiert:

A∖B={x∊A∣x∉B}A\setminus B = \{x\in A\mid x\notin B\}

Als Venn-Diagramm dargestellt:

Ein Venn-Diagramm mit zwei sich überschneidenden Kreisen. Die Differenz von A und B ist der Teil von A, der sich nicht mit B überschneidet.

difference() akzeptiert set-artige Objekte als Parameter other. this muss eine tatsächliche Set-Instanz sein, da die Methode direkt auf die in this gespeicherten Daten zugreift, ohne benutzerdefinierten Code aufzurufen. Das weitere Verhalten hängt von der Größe von this und other ab:

  • Wenn this mehr Elemente als other.size enthält, durchläuft die Methode other durch Aufruf von dessen keys()-Methode und erstellt eine neue Menge mit allen Elementen aus this, die nicht in other vorkommen.
  • Andernfalls durchläuft sie die Elemente in this und erstellt eine neue Menge mit allen Elementen e aus this, für die other.has(e) einen falsy-Wert zurückgibt.

Die Reihenfolge der Elemente in der zurückgegebenen Menge entspricht der Reihenfolge in this.

Beispiele

difference() verwenden

Das folgende Beispiel berechnet die Differenz zwischen der Menge der ungeraden Zahlen (<10) und der Menge der Quadratzahlen (<10). Das Ergebnis ist die Menge der ungeraden Zahlen, die keine Quadratzahlen sind.

js
const odds = new Set([1, 3, 5, 7, 9]);
const squares = new Set([1, 4, 9]);
console.log(odds.difference(squares)); // Set(3) { 3, 5, 7 }

Spezifikationen

Spezifikation
ECMAScript® 2027 Language Specification
# sec-set.prototype.difference

Browser-Kompatibilität

Siehe auch