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
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 isSubsetOf()-Methode von Set-Instanzen nimmt eine Menge 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 in dieser Menge auch in der other-Menge sind, andernfalls false.

Beschreibung

In mathematischer Notation ist Teilmenge definiert als:

ABxA,xBA\subseteq B \Leftrightarrow \forall x\in A,\,x\in B

Und mit Hilfe eines Venn-Diagramms:

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

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

isSubsetOf() akzeptiert set-ähnliche Objekte als other-Parameter. Es erfordert, dass this eine echte Set-Instanz ist, da es direkt auf die zugrunde liegenden Daten in this zugreift, ohne benutzerdefinierten Code aufzurufen. Dann hängt das Verhalten von den Größen von this und other ab:

  • Wenn mehr Elemente in this sind als other.size, wird direkt false zurückgegeben.
  • Ansonsten wird über die Elemente in this iteriert, und false wird zurückgegeben, wenn ein Element e in this dazu führt, dass other.has(e) einen falsy Wert zurückgibt. Andernfalls wird true zurückgegeben.

Beispiele

Verwendung von isSubsetOf()

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 aller ungeraden Zahlen (<20), da 2 eine Primzahl ist, aber nicht ungerade:

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

Gleiche Mengen sind Teilmengen voneinander:

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

Specification
ECMAScript® 2026 Language Specification
# sec-set.prototype.issubsetof

Browser-Kompatibilität

Siehe auch