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
isSupersetOf(other)
Parameter
other-
Ein
SetObjekt 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:
Und in einem Venn-Diagramm:
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
thisalsother.sizegibt, wird direktfalsezurückgegeben. - Andernfalls iteriert es über
otherund ruft dessenkeys()Methode auf. Wenn ein Element inothernicht inthisvorhanden ist, gibt esfalsezurück (und schließt denkeys()Iterator, indem es dessenreturn()Methode aufruft). Andernfalls gibt estruezurück.
Beispiele
>Verwendung von isSupersetOf()
Die Menge der geraden Zahlen (<20) ist ein Superset der Vielfachen von 4 (<20):
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:
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:
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> |