Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Set.prototype.isSupersetOf()

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 isSupersetOf()-Methode von Set-Instanzen nimmt eine Menge und gibt einen booleschen Wert zurück, der anzeigt, ob alle Elemente der gegebenen Menge in dieser Menge enthalten sind.

Syntax

js
isSupersetOf(other)

Parameter

other

Ein Set-Objekt oder ein set-ähnliches Objekt.

Rückgabewert

true, wenn alle Elemente in der other Menge auch in dieser Menge sind, andernfalls false.

Beschreibung

In mathematischer Notation wird Superset definiert als:

ABxB,xAA\supseteq B \Leftrightarrow \forall x\in B,\,x\in A

Und mithilfe eines Venn-Diagramms:

Ein Venn-Diagramm mit zwei Kreisen. A ist ein Superset von B, da B vollständig in A enthalten ist.

Hinweis: Die Superset-Beziehung ist kein echtes Superset, was bedeutet, dass isSupersetOf() true zurückgibt, wenn this und other die gleichen Elemente enthalten.

isSupersetOf() akzeptiert set-ähnliche Objekte als other Parameter. Es erfordert, dass this eine tatsächliche Set-Instanz ist, da es direkt auf die zugrunde liegenden Daten zugreift, die in this gespeichert sind, ohne Benutzer-Code aufzurufen. Dann hängt das Verhalten von den Größen von this und other ab:

  • Wenn es weniger Elemente in this gibt als other.size, gibt es direkt false zurück.
  • Andernfalls iteriert es über other, indem es dessen keys()-Methode aufruft, und wenn ein Element in other nicht in this vorhanden ist, gibt es false zurück (und schließt den keys()-Iterator, indem es dessen return()-Methode aufruft). Andernfalls gibt es true zurück.

Beispiele

Verwendung von isSupersetOf()

Die Menge der geraden Zahlen (<20) ist ein Superset der Vielfachen von 4 (<20):

js
const evens = new Set([2, 4, 6, 8, 10, 12, 14, 16, 18]);
const fours = new Set([4, 8, 12, 16]);
console.log(evens.isSupersetOf(fours)); // true

Die Menge aller ungeraden Zahlen (<20) ist kein Superset der Primzahlen (<20), da 2 eine Primzahl ist, aber nicht ungerade:

js
const primes = new Set([2, 3, 5, 7, 11, 13, 17, 19]);
const odds = new Set([3, 5, 7, 9, 11, 13, 15, 17, 19]);
console.log(odds.isSupersetOf(primes)); // false

Gleiche Mengen sind Supersets voneinander:

js
const set1 = new Set([1, 2, 3]);
const set2 = new Set([1, 2, 3]);
console.log(set1.isSupersetOf(set2)); // true
console.log(set2.isSupersetOf(set1)); // true

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-set.prototype.issupersetof

Browser-Kompatibilität

Siehe auch