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 angibt, ob alle Elemente der gegebenen Menge in dieser Menge enthalten sind.

Syntax

js
isSupersetOf(other)

Parameter

other

Ein Set Objekt oder ein mengenähnliches Objekt.

Rückgabewert

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

Beschreibung

In mathematischer Notation ist Obermenge definiert als:

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

Und mit einem Venn-Diagramm dargestellt:

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

Hinweis: Die Obermenge Beziehung ist keine echte Obermenge, was bedeutet, dass isSupersetOf() true zurückgibt, wenn this und other die gleichen Elemente enthalten.

isSupersetOf() akzeptiert mengenähnliche Objekte als den other Parameter. Es erfordert, dass this eine tatsächliche Set Instanz ist, weil es direkt die zugrunde liegenden Daten in this abruft, ohne Benutzer-Code aufzurufen. Dann hängt sein Verhalten von der Größe von this und other ab:

  • Wenn es in this weniger Elemente gibt als other.size, dann gibt es direkt false zurück.
  • Andernfalls iteriert es über other, indem es dessen keys() Methode aufruft und wenn ein beliebiges 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 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), 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 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

Specification
Set methods
# sec-set.prototype.issupersetof

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
isSupersetOf

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support

Siehe auch