Set.prototype.union()

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 union()-Methode von Set-Instanzen nimmt eine Menge und gibt eine neue Menge zurück, die Elemente enthält, die entweder in dieser Menge oder in der angegebenen Menge vorhanden sind, oder in beiden.

Syntax

js
union(other)

Parameter

other

Ein Set-Objekt oder ein mengenähnliches Objekt.

Rückgabewert

Ein neues Set-Objekt, das Elemente enthält, die entweder in dieser Menge oder in der other-Menge oder in beiden vorhanden sind.

Beschreibung

In der mathematischen Notation wird Vereinigung wie folgt definiert:

A B = { x x A  oder  x B } A\cup B = \{x\midx\in A\text{ or }x\in B\}

Und unter Verwendung eines Venn-Diagramms:

Ein Venn-Diagramm, in dem zwei Kreise überlappen. Der symmetrische Unterschied von A und B ist der Bereich, der entweder von einem oder beiden Kreisen enthalten ist.

union() akzeptiert mengenähnliche Objekte als das other-Parameter. Es erfordert, dass this eine tatsächliche Set-Instanz ist, da es direkt auf die zugrunde liegenden Daten in this zugreift, ohne Benutzercode aufzurufen. Dann iteriert es über other, indem es dessen keys()-Methode aufruft und eine neue Menge mit allen Elementen in this erstellt, gefolgt von allen Elementen in other, die in this nicht vorhanden sind.

Die Reihenfolge der Elemente in der zurückgegebenen Menge ist zuerst die in this, gefolgt von denen in other.

Beispiele

Verwendung von union()

Im folgenden Beispiel wird die Vereinigung 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 sind oder ein perfektes Quadrat, oder beides.

js
const evens = new Set([2, 4, 6, 8]);
const squares = new Set([1, 4, 9]);
console.log(evens.union(squares)); // Set(6) { 2, 4, 6, 8, 1, 9 }

Spezifikationen

Specification
Set methods
# sec-set.prototype.union

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch