Set.prototype.isDisjointFrom()
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 isDisjointFrom()
Methode von Set
Instanzen nimmt ein Set und gibt einen booleschen Wert zurück, der angibt, ob dieses Set keine gemeinsamen Elemente mit dem gegebenen Set hat.
Syntax
isDisjointFrom(other)
Parameter
other
-
Ein
Set
-Objekt oder ein set-ähnliches Objekt.
Rückgabewert
true
, wenn dieses Set keine gemeinsamen Elemente mit dem other
Set hat, andernfalls false
.
Beschreibung
Zwei Sets sind disjunkt, wenn sie keine gemeinsamen Elemente haben. In mathematischer Notation:
Und mit einem Venn-Diagramm:
isDisjointFrom()
akzeptiert set-ähnliche Objekte als den other
Parameter. Es erfordert, dass this
eine tatsächliche Set
Instanz ist, da es die zugrunde liegenden Daten direkt aus this
abruft, ohne benutzerdefinierten Code aufzurufen. Dann hängt sein Verhalten von der Größe von this
und other
ab:
- Wenn es mehr Elemente in
this
alsother.size
gibt, werden die Elemente vonother
durch Aufruf derkeys()
Methode iteriert, und wenn irgendein Element inother
inthis
vorhanden ist, gibt esfalse
zurück (und schließt denkeys()
Iterator durch Aufruf derreturn()
Methode). Andernfalls gibt estrue
zurück. - Andernfalls werden die Elemente in
this
durchlaufen, undfalse
wird zurückgegeben, wenn irgendein 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 des kleineren Sets zwischen this
und other
ab (unter der Annahme, dass Sets in sublinearer Zeit zugänglich sind).
Beispiele
Verwendung von isDisjointFrom()
Die Menge der perfekten Quadrate (<20) ist disjunkt von der Menge der Primzahlen (<20), weil ein perfektes Quadrat per Definition in das Produkt zweier ganzer 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), weil alle nicht-1 perfekten Quadrate 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