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.isSubsetOf()

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

Syntax

js
isSubsetOf(other)

Parameter

other

Ein Set-Objekt oder ein Set-ähnliches Objekt.

Rückgabewert

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

Beschreibung

In mathematischer Notation ist eine Teilmenge wie folgt definiert:

A⊆B⇔∀x∊A,x∊BA\subseteq B \Leftrightarrow \forall x\in A,\,x\in B

Und als Venn-Diagramm dargestellt:

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

Hinweis: Die Beziehung Teilmenge ist nicht auf echte Teilmengen beschränkt. Daher gibt isSubsetOf() auch dann true zurück, wenn this und other dieselben Elemente enthalten.

isSubsetOf() akzeptiert Set-ähnliche 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 mehr Elemente enthält, als other.size angibt, gibt die Methode unmittelbar false zurück.
  • Andernfalls durchläuft sie die Elemente von this und gibt false zurück, sobald other.has(e) für ein Element e aus this einen falsy-Wert zurückgibt. Trifft dies auf kein Element zu, gibt sie true zurück.

Beispiele

isSubsetOf() verwenden

Die Menge der Vielfachen von 4 (<20) ist eine Teilmenge der geraden Zahlen (<20):

js
const fours = new Set([4, 8, 12, 16]);
const evens = new Set([2, 4, 6, 8, 10, 12, 14, 16, 18]);
console.log(fours.isSubsetOf(evens)); // true

Die Menge der Primzahlen (<20) ist keine Teilmenge der ungeraden Zahlen (<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(primes.isSubsetOf(odds)); // false

Mengen mit denselben Elementen sind jeweils eine Teilmenge der anderen:

js
const set1 = new Set([1, 2, 3]);
const set2 = new Set([1, 2, 3]);
console.log(set1.isSubsetOf(set2)); // true
console.log(set2.isSubsetOf(set1)); // true

Spezifikationen

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

Browser-Kompatibilität

Siehe auch