Set.prototype.difference()
Baseline
2024
Newly available
Since June 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Die difference() Methode von Set Instanzen nimmt eine Menge und gibt eine neue Menge zurück, die Elemente in dieser Menge, aber nicht in der angegebenen Menge enthält.
Syntax
difference(other)
Parameter
other-
Ein
SetObjekt oder ein set-ähnliches Objekt.
Rückgabewert
Ein neues Set Objekt, das Elemente in dieser Menge enthält, aber nicht in der other Menge.
Beschreibung
In mathematischer Notation ist difference definiert als:
Und unter Verwendung eines Venn-Diagramms:
difference() akzeptiert set-ähnliche Objekte als other Parameter. Es erfordert, dass this eine tatsächliche Set Instanz ist, da es direkt die zugrunde liegenden Daten in this abruft, ohne jeglichen Benutzercode auszuführen. Dann hängt sein Verhalten von den Größen von this und other ab:
- Wenn es mehr Elemente in
thisalsother.sizegibt, wird überotheriteriert, indem seinekeys()Methode aufgerufen wird, und eine neue Menge mit allen Elementen inthiskonstruiert, die inothernicht gesehen werden. - Andernfalls wird über die Elemente in
thisiteriert und eine neue Menge mit allen Elementeneinthiskonstruiert, dieother.has(e)dazu veranlassen, einen falsy Wert zurückzugeben.
Die Reihenfolge der Elemente in der zurückgegebenen Menge entspricht der in this.
Beispiele
>Verwendung von difference()
Im folgenden Beispiel wird die Differenz zwischen der Menge der ungeraden Zahlen (<10) und der Menge der perfekten Quadrate (<10) berechnet. Das Ergebnis ist die Menge der ungeraden Zahlen, die keine perfekten Quadrate sind.
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
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-set.prototype.difference> |
Browser-Kompatibilität
Loading…