Set.prototype.symmetricDifference()
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 symmetricDifference()-Methode von Set Instanzen nimmt ein Set und gibt ein neues Set zurück, das Elemente enthält, die entweder in diesem Set oder im angegebenen Set, aber nicht in beiden enthalten sind.
Syntax
symmetricDifference(other)
Parameter
other-
Ein
Set-Objekt oder ein set-ähnliches Objekt.
Rückgabewert
Ein neues Set-Objekt, das Elemente enthält, die entweder in diesem Set oder im other-Set, aber nicht in beiden enthalten sind.
Beschreibung
In mathematischer Notation wird der Begriff symmetrische Differenz wie folgt definiert:
Und mittels Venn-Diagramm:
symmetricDifference() akzeptiert set-ähnliche Objekte als das other-Argument. Es erfordert, dass this eine tatsächliche Set-Instanz ist, da es direkt die darunter liegenden Daten extrahiert, die in this gespeichert sind, ohne benutzerdefinierten Code aufzurufen. Es iteriert dann über other, indem es dessen keys()-Methode aufruft und ein neues Set mit allen Elementen in this erstellt, die nicht in other vorkommen, und allen Elementen in other, die nicht in this vorkommen.
Die Reihenfolge der Elemente im zurückgegebenen Set ist zuerst die in this, gefolgt von denen in other.
Beispiele
>Verwendung von symmetricDifference()
Im folgenden Beispiel wird die symmetrische Differenz zwischen der Menge der geraden Zahlen (<10) und der Menge der perfekten Quadrate (<10) berechnet. Das Ergebnis ist die Menge der Zahlen, die entweder gerade oder ein perfektes Quadrat, aber nicht beides sind.
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
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-set.prototype.symmetricdifference> |
Browser-Kompatibilität
Loading…