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 dem angegebenen Set, aber nicht in beiden 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 sind.
Beschreibung
In mathematischer Notation wird symmetrische Differenz definiert als:
Und unter Verwendung eines Venn-Diagramms:
symmetricDifference()
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 Benutzercode aufzurufen. Dann iteriert es über other
, indem es dessen keys()
Methode aufruft, und erstellt ein neues Set mit allen Elementen in this
, die in other
nicht vorhanden sind, und allen Elementen in other
, die in this
nicht vorhanden sind.
Die Reihenfolge der Elemente im zurückgegebenen Set ist zuerst die in this
, gefolgt von denen in other
.
Beispiele
Verwendung von symmetricDifference()
Das folgende Beispiel berechnet die symmetrische Differenz zwischen der Menge der geraden Zahlen (<10) und der Menge der perfekten Quadrate (<10). Das Ergebnis ist die Menge der Zahlen, die entweder gerade oder ein perfektes Quadrat 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
Specification |
---|
Set methods # sec-set.prototype.symmetricdifference |
Browser-Kompatibilität
BCD tables only load in the browser