Die neuen `Set`-Methoden in JavaScript
(developer.mozilla.org)- Seit Firefox 127 stehen die neuen
Set-Methoden in den meisten großen Browser-Engines zur Verfügung, sodass sie nun überall ohne Polyfill verwendet werden können - Sie bieten optimierte Wege für Deduplizierung, Vergleiche, Schnittmengen, Differenzen und Teilmengen, sodass keine eigene Implementierung mehr nötig ist
- Bei großen Datenmengen bieten sie gegenüber Arrays Performance-Vorteile, solange man beachtet, dass die Reihenfolge nicht garantiert ist
- Neue
Set-Methoden:intersection(),union(),difference(),symmetricDifference(),isSubsetOf(),isSupersetOf(),isDisjointFrom()— sie geben boolesche Werte zurück, wenn ein entsprechender Zustand vorliegt
Was ist ein Set in JavaScript?
- Ein
Setist ähnlich wie ein Array, aber jeder Wert kann nur einmal gespeichert werden Setbietet eine eingebaute Möglichkeit, eindeutige Collections zu erstellen, was sehr praktisch ist- Im Vergleich zu Arrays ist die Prüfung, ob ein Element in einem
Setvorhanden ist, in der Regel schneller
Die Vereinigungsmenge zweier Mengen
- Mit der Methode
unionlassen sich Elemente ermitteln, die in einer der beiden Mengen oder in beiden enthalten sind - Es ist keine benutzerdefinierte Implementierung nötig, um Duplikate zu entfernen und Vergleiche durchzuführen
Die Schnittmenge von Mengen
- Mit der Methode
intersectionlassen sich überlappende Elemente in zwei Mengen ermitteln - Sie kann verwendet werden, um Elemente hervorzuheben, die nur in beiden Mengen vorkommen
Die symmetrische Differenz von Mengen
- Die Methode
symmetricDifferencemacht es möglich, Elemente zu finden, die in genau einer der beiden Mengen vorkommen, aber nicht in beiden symmetricDifferenceführt die entgegengesetzte logische Operation zuintersectionaus
Die Differenz von Mengen
- Mit der Methode
differencelassen sich Elemente finden, die in einer Menge, aber nicht in der anderen enthalten sind - Eine mit
differenceerzeugte Menge kann verwendet werden, um Listeneinträge hervorzuheben, die nicht in einer anderen Liste erscheinen
Teilmenge, Obermenge, disjunkt
- Die Methoden
isSubsetOf()undisSupersetOf()geben keine neue Menge zurück, sondern einen booleschen Wert, der einen bestimmten Zustand oder eine logische Prüfung ausdrückt - Mit der Methode
isDisjointFrom()lässt sich prüfen, ob zwei Mengen keine gemeinsamen Elemente haben
Zusammenfassung
- Die
Set-Methoden sind ein interessantes und gut verständliches Konzept - Es wäre spannend zu erfahren, wie diese Methoden in praktischen Beispielen noch auf andere Weise eingesetzt werden können
- Hoffentlich lassen sich die
Set-Methoden im nächsten Projekt gut einsetzen
1 Kommentare
Da wurden wohl noch mehr „mengenartige“ Funktionen hinzugefügt.