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 anzeigt, ob alle Elemente dieser Menge in der gegebenen 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, und false andernfalls.

Beschreibung

In mathematischer Notation wird subset definiert als:

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

Und anhand eines Venn-Diagramms:

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

Hinweis: Die subset-Beziehung ist kein proper subset, 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 tatsächliche Set-Instanz ist, da es direkt auf die zugrunde liegenden Daten in this zugreift, ohne benutzerdefinierten Code auszuführen. Danach hängt das Verhalten von den Größen von this und other ab:

  • Wenn es in this mehr Elemente gibt als other.size, wird direkt false zurückgegeben.
  • Andernfalls wird über die Elemente in this iteriert, und es wird false zurückgegeben, wenn irgendein Element e in this other.has(e) dazu bringt, einen falsy-Wert zurückzugeben. 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, 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

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
Set methods
# sec-set.prototype.issubsetof

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch