Das 'Set'-Objekt, das in ES6, der sechsten Edition der ECMAScript-Sprachspezifikation, eingeführt wurde, repräsentiert eine Sammlung einzigartiger Werte. Im Gegensatz zu Arrays, die doppelte Werte zulassen, kann jedes Element in einem Set nur einmal vorkommen.
In einem 'Set'-Objekt sind alle Werte einzigartig, es werden keine Duplikate gespeichert. Das heißt, wenn Sie versuchen, einen Wert hinzuzufügen, der bereits in dem Set existiert, wird er einfach ignoriert. Hier ist ein einfaches Beispiel für die Verwendung eines 'Set'-Objekts:
let set = new Set();
set.add(1); // Fügt den Wert 1 zum Set hinzu
set.add(2); // Fügt den Wert 2 zum Set hinzu
set.add(1); // Versucht, den Wert 1 erneut hinzuzufügen, wird aber ignoriert
console.log(set.size); // Gibt "2" aus, da nur die Werte 1 und 2 im Set gespeichert sind
Ein häufiges Anwendungsbeispiel für Sets ist die Eliminierung von Duplikaten aus einem Array. Angenommen, Sie haben ein Array mit doppelten Werten und Sie wollen nur die einzigartigen Werte behalten. Sie könnten einfach alle Werte des Arrays zu einem 'Set'-Objekt hinzufügen und dann das Set zurück in ein Array konvertieren, wie folgt:
let array = [1, 2, 2, 3, 4, 4, 5];
let set = new Set(array);
let uniqueArray = [...set];
console.log(uniqueArray); // Gibt "[1, 2, 3, 4, 5]" aus
In Bezug auf die Best Practices sind 'Set'-Objekte besonders nützlich, wenn Sie mit großen Datenmengen arbeiten und sicherstellen müssen, dass alle Werte einzigartig sind. Durch die Verwendung eines 'Set'-Objekts können Sie die Überprüfung von Duplikaten effizienter gestalten, da Sie nicht jeden einzelnen Wert gegen alle anderen Werte in der Sammlung prüfen müssen. Außerdem ist die Methode Set.prototype.has(value)
viel schneller als die übliche Array-Methode Array.prototype.includes(value)
, wenn es darum geht, festzustellen, ob ein bestimmter Wert bereits in der Sammlung vorhanden ist oder nicht.