💡 1. Moderne Array-Methoden (map, filter, reduce)
Verarbeite Datenreihen deklarativ, lesbar und unveränderlich (ohne das Original-Array zu mutieren):
const preise = [10, 25, 40, 5];
// 🎯 1. .map() - Jedes Element transformieren:
const mitMwSt = preise.map(p => p * 1.19);
// 🎯 2. .filter() - Elemente nach Kriterium filtern:
const teuer = preise.filter(p => p >= 20); // [25, 40]
// 🎯 3. .reduce() - Aggregieren zu einem Gesamtwert:
const gesamt = preise.reduce((sum, p) => sum + p, 0); // 80
🎟️ 2. Sets: Eindeutige Mengen ohne Duplikate
Ein Set garantiert, dass jeder Wert nur genau einmal vorkommt. Ideal für Duplikatbereinigung und schnelle Existenzprüfungen:
// 🎯 Set erstellen & befüllen:
const tags = new Set(["js", "web", "js", "frontend"]);
console.log(tags.size); // 3 (da "js" nur 1x existiert)
tags.add("backend");
console.log(tags.has("web")); // true (O(1) schneller Lookup)
// 🌟 Duplikate aus Array entfernen (Spread):
const duplikate = [1, 2, 2, 3, 1, 4];
const einzigartig = [...new Set(duplikate)]; // [1, 2, 3, 4]
📖 3. Maps: Flexible Schlüssel-Wert-Speicher
Eine Map verknüpft Schlüssel mit Werten. Jeder Schlüssel kann einen beliebigen Typ haben (auch Strings, Zahlen oder Objekte):
// 🎯 Map erstellen & befüllen:
const config = new Map();
config.set("thema", "dark");
config.set("benachrichtigungen", true);
console.log(config.get("thema")); // "dark"
console.log(config.has("sprache")); // false
console.log(config.size); // 2
// 🎯 Aus 2D-Array initialisieren:
const lexikon = new Map([
["de", "Guten Tag"],
["en", "Hello"]
]);
Array (Die Fotogalerie): Ein Fotoalbum mit festen Seiten-Nummern (Indizes 0, 1, 2...). Du kannst dasselbe Bild mehrfach einkleben und Filterfolien darüber legen.
Set (Der VIP-Club): Die Gästeliste an der Tür: Ein Gast kann nicht zweimal auf der Liste stehen. Neue Duplikate werden sofort abgewiesen.
Map (Das moderne Telefonbuch): Schnelles Nachschlagen: Du nennst den Namen (Key) und bekommst sofort die Nummer (Value) zurück.
📑 4. Cheat-Sheet: Array, Set & Map
| Typ | Syntax / Methode | Beschreibung |
|---|---|---|
Array |
arr.map(fn) |
Erzeugt neues transformiertes Array |
Array |
arr.filter(fn) |
Filtert Elemente nach Wahrheitsbedingung |
Array |
arr.reduce(fn, start) |
Aggregiert alle Werte zu einem Gesamtwert |
Set |
new Set(arr) / [...set] |
Menge ohne Duplikate; Konvertierung zu Array |
Set |
set.has(val) / set.add(val) |
Element prüfen / hinzufügen (Größe: .size) |
Map |
map.set(k, v) / map.get(k) |
Schlüssel-Wert-Paar setzen / abrufen |
Map |
new Map(entries) |
Initialisierung aus [[k, v], ...] |
🎯 Aufgaben & Checkliste in aufgabe.js
Für entferneDuplikate: return [...new Set(liste)];. Für zaehleHaeufigkeiten: Iteriere mit for (const w of woerter) und setze map.set(w, (map.get(w) || 0) + 1);.