- 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
Set ist ähnlich wie ein Array, aber jeder Wert kann nur einmal gespeichert werden
Set bietet 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
Set vorhanden ist, in der Regel schneller
Die Vereinigungsmenge zweier Mengen
- Mit der Methode
union lassen 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
intersection lassen 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
symmetricDifference macht es möglich, Elemente zu finden, die in genau einer der beiden Mengen vorkommen, aber nicht in beiden
symmetricDifference führt die entgegengesetzte logische Operation zu intersection aus
Die Differenz von Mengen
- Mit der Methode
difference lassen sich Elemente finden, die in einer Menge, aber nicht in der anderen enthalten sind
- Eine mit
difference erzeugte Menge kann verwendet werden, um Listeneinträge hervorzuheben, die nicht in einer anderen Liste erscheinen
Teilmenge, Obermenge, disjunkt
- Die Methoden
isSubsetOf() und isSupersetOf() 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.