Set.prototype.isDisjointFrom()
Baseline 2024Newly 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 isDisjointFrom()
Methode von Set
Instanzen nimmt eine Menge und gibt einen booleschen Wert zurück, der angibt, ob diese Menge keine gemeinsamen Elemente mit der angegebenen Menge hat.
Syntax
isDisjointFrom(other)
Parameter
other
-
Ein
Set
-Objekt oder ein set-ähnliches Objekt.
Rückgabewert
true
, wenn diese Menge keine gemeinsamen Elemente mit der other
Menge hat, andernfalls false
.
Beschreibung
Zwei Mengen sind disjoint (disjunkt), wenn sie keine gemeinsamen Elemente haben. In mathematischer Notation:
Und mithilfe eines Venn-Diagramms:
isDisjointFrom()
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 zugreift, die in this
gespeichert sind, ohne benutzerdefinierten Code auszuführen. Dann hängt das Verhalten von den Größen von this
und other
ab:
- Wenn es mehr Elemente in
this
alsother.size
gibt, wird überother
iteriert, indem dessenkeys()
Methode aufgerufen wird. Wenn ein Element inother
inthis
vorhanden ist, gibt esfalse
zurück (und schließt denkeys()
Iterator durch Aufruf von dessenreturn()
Methode). Andernfalls gibt estrue
zurück. - Andernfalls wird über die Elemente in
this
iteriert, und es wirdfalse
zurückgegeben, wenn ein Elemente
inthis
dazu führt, dassother.has(e)
einen truthy Wert zurückgibt. Andernfalls gibt estrue
zurück.
Aufgrund dieser Implementierung hängt die Effizienz von isDisjointFrom()
hauptsächlich von der Größe der kleineren Menge zwischen this
und other
ab (vorausgesetzt, dass auf Mengen in sublinearer Zeit zugegriffen werden kann).
Beispiele
Verwendung von isDisjointFrom()
Die Menge der perfekten Quadrate (<20) ist disjunkt von der Menge der Primzahlen (<20), da ein perfektes Quadrat per Definition als Produkt von zwei ganzen Zahlen zerlegbar ist, während 1 auch nicht als Primzahl betrachtet wird:
const primes = new Set([2, 3, 5, 7, 11, 13, 17, 19]);
const squares = new Set([1, 4, 9, 16]);
console.log(primes.isDisjointFrom(squares)); // true
Die Menge der perfekten Quadrate (<20) ist nicht disjunkt von der Menge der zusammengesetzten Zahlen (<20), da alle perfekten Quadrate, die nicht 1 sind, per Definition zusammengesetzte Zahlen sind:
const composites = new Set([4, 6, 8, 9, 10, 12, 14, 15, 16, 18]);
const squares = new Set([1, 4, 9, 16]);
console.log(composites.isDisjointFrom(squares)); // false
Spezifikationen
Specification |
---|
Set methods # sec-set.prototype.isdisjointfrom |
Browser-Kompatibilität
BCD tables only load in the browser