- Autor

- Name
- Nelson Silva
- Social
Einführung
JavaScript ES6 hat zwei neue Datensammlungstypen eingeführt: Sets und Maps. Beide bieten effiziente und flexible Möglichkeiten, mit Datensammlungen zu arbeiten. In diesem Artikel werden wir die Eigenschaften von Sets und Maps erkunden, ihre Unterschiede und Anwendungsfälle verstehen und Beispiele sehen, wie sie eingesetzt werden können.
Was sind Sets?
Ein Set ist eine Sammlung von Werten, die keine Duplikate erlaubt. Es ist besonders nützlich für die Verwaltung von Sammlungen einzigartiger Elemente.
Eigenschaften von Sets
- Eindeutigkeit: Jedes Element in einem Set ist einzigartig.
- Keine Indizierung: Sets sind nicht wie Arrays indiziert. Es ist nicht möglich, auf Elemente über einen Index zuzugreifen.
Sets erstellen und manipulieren
let meinSet = new Set();
// Elemente hinzufügen
meinSet.add(1);
meinSet.add(2);
meinSet.add(2); // Hat keine Wirkung, da 2 bereits im Set vorhanden ist
// Vorhandensein eines Elements prüfen
console.log(meinSet.has(1)); // true
// Größe des Sets
console.log(meinSet.size); // 2
// Elemente entfernen
meinSet.delete(1);
Über ein Set iterieren
Sets können mit for...of oder forEach-Methoden iteriert werden.
for (let element of meinSet) {
console.log(element);
}
Was sind Maps?
Eine Map ist eine Sammlung von Schlüssel-Wert-Paaren. Im Gegensatz zu Objekten können die Schlüssel einer Map von beliebigem Datentyp sein.
Eigenschaften von Maps
- Flexible Schlüssel: Schlüssel können von beliebigem Typ sein, einschließlich Funktionen, Objekten und allen primitiven Typen.
- Reihenfolge beibehalten: Anders als bei Objekten wird die Reihenfolge der Elemente beibehalten.
Maps erstellen und manipulieren
let meineMap = new Map();
// Schlüssel und Werte setzen
meineMap.set('schluessel1', 'wert1');
meineMap.set('schluessel2', 'wert2');
// Auf Werte zugreifen
console.log(meineMap.get('schluessel1')); // wert1
// Größe der Map
console.log(meineMap.size); // 2
// Elemente entfernen
meineMap.delete('schluessel1');
Über eine Map iterieren
Wir können über Schlüssel, Werte oder beides mit for...of oder forEach iterieren.
for (let [schluessel, wert] of meineMap) {
console.log(`${schluessel}: ${wert}`);
}
Unterschiede zwischen Sets und Maps
- Verwendung: Sets werden für Sammlungen eindeutiger Werte verwendet, während Maps zur Zuordnung von Schlüssel-Wert-Paaren dienen.
- Performance: Sowohl Sets als auch Maps bieten schnelle Einfüge- und Suchoperationen und übertreffen Objekte bei großen Datenmengen häufig in der Effizienz.
Best Practices und Tipps
- Wähle die richtige Struktur: Verwende Sets, wenn du eine Sammlung eindeutiger Elemente benötigst, und Maps für Schlüssel-Wert-Zuordnungen.
- Vorsicht bei Map-Schlüsseln: Denke daran, dass Maps Schlüssel jeglichen Typs haben können. Behalte einen konsistenten Überblick über die Schlüsseltypen, um Verwirrung zu vermeiden.
- Performance berücksichtigen: Bei großen Datenmengen können Sets und Maps effizienter sein als Objekte oder Arrays.
Fazit
Sets und Maps sind leistungsstarke Ergänzungen zu JavaScript und bieten effiziente und flexible Möglichkeiten, mit Datensammlungen zu arbeiten. Ihre Eigenschaften und Unterschiede zu verstehen ist entscheidend, um die richtige Datenstruktur für deine Anforderungen zu wählen und effektive Lösungen zu implementieren.