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
Neu verfügbar

Seit June 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 isSupersetOf() Methode von Set Instanzen nimmt ein Set und gibt einen Boolean zurück, der anzeigt, ob alle Elemente des gegebenen Sets in diesem Set enthalten sind.

Syntax

js
isSupersetOf(other)

Parameter

other

Ein Set Objekt oder ein set-ähnliches Objekt.

Rückgabewert

true, wenn alle Elemente im other Set auch in diesem Set sind, andernfalls false.

Beschreibung

In mathematischer Notation ist ein Superset definiert als:

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

Und in einem Venn-Diagramm:

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

Hinweis: Die Superset-Beziehung ist nicht 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 die darunter liegenden Daten direkt extrahiert, die in this gespeichert sind, ohne jeglichen Benutzercode aufzurufen. Dann hängt das Verhalten von den Größen von this und other ab:

  • Wenn es weniger Elemente in this als other.size gibt, wird direkt false zurückgegeben.
  • Andernfalls iteriert es über other und ruft dessen keys() Methode auf. 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), weil 2 eine Primzahl, aber nicht ungerade ist:

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

Äquivalente 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

Spezifikation
ECMAScript® 2027 Language Specification
# sec-set.prototype.issupersetof

Browser-Kompatibilität

Siehe auch