Set.prototype.symmetricDifference()
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 symmetricDifference() von Set-Instanzen nimmt eine Menge entgegen und gibt eine neue Menge zurück, die alle Elemente enthält, die entweder in dieser Menge oder in der übergebenen Menge vorkommen, aber nicht in beiden.
Syntax
symmetricDifference(other)
Parameter
other-
Ein
Set-Objekt oder ein set-artiges Objekt.
Rückgabewert
Ein neues Set-Objekt mit den Elementen, die entweder in dieser Menge oder in der Menge other vorkommen, aber nicht in beiden.
Beschreibung
In der mathematischen Notation ist die symmetrische Differenz wie folgt definiert:
Als Venn-Diagramm dargestellt:
symmetricDifference() 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. Anschließend durchläuft sie other, indem sie dessen Methode keys() aufruft, und erstellt eine neue Menge mit allen Elementen aus this, die nicht in other vorkommen, sowie allen Elementen aus other, die nicht in this vorkommen.
In der zurückgegebenen Menge stehen zuerst die Elemente aus this, gefolgt von denen aus other.
Beispiele
>symmetricDifference() verwenden
Das folgende Beispiel berechnet die symmetrische Differenz zwischen der Menge der geraden Zahlen (<10) und der Menge der Quadratzahlen (<10). Das Ergebnis ist die Menge der Zahlen, die entweder gerade oder eine Quadratzahl sind, aber nicht beides.
const evens = new Set([2, 4, 6, 8]);
const squares = new Set([1, 4, 9]);
console.log(evens.symmetricDifference(squares)); // Set(5) { 2, 6, 8, 1, 9 }
Spezifikationen
| Spezifikation |
|---|
| ECMAScript® 2027 Language Specification> # sec-set.prototype.symmetricdifference> |