Array ·
Object ·
map() / filter() / reduce() ·
forEach() ·
Spread Operator ·
Destructuring
Arrays und Objekte sind die zentralen Datenstrukturen in JavaScript. Sie bilden die Grundlage für die moderne Webentwicklung und Datenverarbeitung.
Arrays sind geordnete, veränderbare Listen, die beliebige Datentypen enthalten können. Sie sind nullbasiert und bieten viele Methoden zur Manipulation.
| Methode | Beschreibung |
|---|---|
| push(element) | Fügt Element am Ende hinzu |
| pop() | Entfernt und gibt letztes Element zurück |
| unshift(element) | Fügt Element am Anfang hinzu |
| shift() | Entfernt und gibt erstes Element zurück |
| splice(index, deleteCount) | Entfernt oder ersetzt Elemente |
| slice(start, end) | Erzeugt Kopie eines Teils |
| indexOf(element) | Findet Position (oder -1) |
| includes(element) | Prüft auf Enthaltensein (true/false) |
| concat(array) | Verkettet Arrays |
| join(separator) | Verbinder Elemente zu String |
push() und pop() arbeiten am Ende des Arrays (effizient), unshift() und shift() am Anfang (langsamer bei großen Arrays).
Objekte sind Sammlungen von Schlüssel-Wert-Paaren. Sie werden verwendet, um zusammengehörige Daten zu strukturieren und sind die Basis für fast alles in JavaScript.
| Operation | Beschreibung |
|---|---|
| obj.key | Zugriff mit Dot-Notation (Property-Name muss gültig sein) |
| obj["key"] | Zugriff mit Bracket-Notation (dynamisch) |
| obj.key = wert | Property setzen oder neu anlegen |
| delete obj.key | Property löschen |
| 'key' in obj | Prüft, ob Property existiert |
| Object.keys(obj) | Array aller Schlüssel |
| Object.values(obj) | Array aller Werte |
| Object.entries(obj) | Array von [key, value]-Paaren |
obj["key"], wenn der Schlüssel dynamisch ist oder ungültige Zeichen enthält (z.B. Leerzeichen).
Höhere Array-Methoden sind die moderne Art, Arrays zu verarbeiten. Sie sind funktional, lesbar und vermeiden Seiteneffekte.
| Methode | Beschreibung | Rückgabe |
|---|---|---|
| forEach(callback) | Führt Callback für jedes Element aus | undefined |
| map(callback) | Transformiert jedes Element | Neues Array |
| filter(callback) | Selektiert Elemente nach Bedingung | Neues Array |
| reduce(callback, init) | Reduziert Array auf einen Wert | Einzelner Wert |
| some(callback) | Prüft, ob mindestens eins zutrifft | boolean |
| every(callback) | Prüft, ob alle zutreffen | boolean |
| find(callback) | Findet erstes passendes Element | Element oder undefined |
| sort(callback) | Sortiert Array (in-place) | Das Array |
map(), filter() und reduce() erzeugen neue Arrays/Werte – sie verändern das Original nicht (immutable). Das ist sicherer und vorhersehbarer.
Spread (...) erweitert Arrays/Objekte an Stellen, wo mehrere Elemente/Properties erwartet werden. Rest sammelt übrige Argumente.
JSON.parse(JSON.stringify(obj)) oder structuredClone().
Destructuring entpackt Werte aus Arrays oder Objekten in separate Variablen – das macht den Code kürzer und lesbarer.
[]
{}
push()
map()
...
{ }
arr.map(n => n * 2) ·
arr.filter(n => n > 5) ·
const { name } = person ·
[...arr, 4]