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
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
sonst.
Beschreibung
In mathematischer Notation ist Teilmenge definiert als:
Und mit einem Venn-Diagramm:
Hinweis: Die Teilmenge-Beziehung ist keine echte Teilmenge, was bedeutet, dass isSubsetOf()
true
zurückgibt, wenn this
und other
dieselben Elemente enthalten.
isSubsetOf()
akzeptiert set-ähnliche Objekte als other
-Parameter. Dabei muss this
eine tatsächliche Set
-Instanz sein, da es die zugrunde liegenden Daten, die in this
gespeichert sind, direkt abruft, ohne benutzerdefinierten Code aufzurufen. Das Verhalten hängt dann von der Größe von this
und other
ab:
- Wenn es mehr Elemente in
this
gibt alsother.size
, wird direktfalse
zurückgegeben. - Andernfalls wird über die Elemente in
this
iteriert undfalse
zurückgegeben, wenn irgendein Elemente
inthis
dazu führt, dassother.has(e)
einen falsy Wert zurückgibt. Andernfalls wirdtrue
zurückgegeben.
Beispiele
Verwendung von isSubsetOf()
Die Menge der Vielfachen von 4 (<20) ist eine Teilmenge der geraden Zahlen (<20):
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 prim 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(primes.isSubsetOf(odds)); // false
Gleiche Mengen sind Teilmengen voneinander:
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