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
isSupersetOf(other)
Parameter
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:
Als Venn-Diagramm dargestellt:
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
thisweniger Elemente alsother.sizeenthält, gibt die Methode sofortfalsezurück. - Andernfalls durchläuft sie
other, indem sie dessen Methodekeys()aufruft. Ist ein Element ausothernicht inthisenthalten, gibt siefalsezurück und schließt denkeys()-Iterator durch Aufrufen seiner Methodereturn(). Andernfalls gibt sietruezurück.
Beispiele
>isSupersetOf() verwenden
Die Menge der geraden Zahlen (<20) ist eine Obermenge 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 keine Obermenge der Primzahlen (<20), da 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
Gleiche Mengen sind gegenseitig Obermengen 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> |