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

Syntax

js
isSupersetOf(other)

Parameter

other

Ein Set-Objekt oder ein set-like-Objekt.

Rückgabewert

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

Beschreibung

In mathematischer Notation ist eine Obermenge wie folgt definiert:

A⊇B⇔∀x∊B,x∊AA\supseteq B \Leftrightarrow \forall x\in B,\,x\in A

Als Venn-Diagramm dargestellt:

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

Hinweis: Die Beziehung Obermenge bedeutet nicht echte Obermenge. Daher gibt isSupersetOf() auch dann true zurück, wenn this und other dieselben Elemente enthalten.

isSupersetOf() akzeptiert set-like-Objekte als Parameter other. this muss eine tatsächliche Set-Instanz sein, da die Methode direkt auf die in this gespeicherten Daten zugreift, ohne benutzerdefinierten Code aufzurufen. Das weitere Verhalten hängt von der Größe von this und other ab:

  • Wenn this weniger Elemente als other.size enthält, gibt die Methode sofort false zurück.
  • Andernfalls durchläuft sie other, indem sie dessen Methode keys() aufruft. Ist ein Element aus other nicht in this enthalten, gibt sie false zurück und schließt den keys()-Iterator durch Aufrufen seiner Methode return(). Andernfalls gibt sie true zurück.

Beispiele

isSupersetOf() verwenden

Die Menge der geraden Zahlen (<20) ist eine Obermenge 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 keine Obermenge der Primzahlen (<20), da 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

Gleiche Mengen sind gegenseitig Obermengen 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