JavaScript-Array-Methoden: Übersicht mit Beispielen
JavaScript-Array-Methoden mit Beispiel und Ergebnis: map, filter und reduce, sort und toSorted, find, includes, Array.from und Object.groupBy. Mit Hinweis, welche Methoden das Array verändern.
54 Einträge
Verändern das Array
arr.push(4, 5)Hängt Elemente hinten an, gibt die neue Länge zurückarr.pop()Entfernt das letzte Element und gibt es zurückarr.unshift(0)Fügt vorne ein, gibt die neue Länge zurückarr.shift()Entfernt das erste Element und gibt es zurückarr.splice(1, 2)Entfernt ab Index 1 zwei Elemente, gibt sie als Array zurückarr.splice(1, 0, 'x')Fügt an Index 1 ein, ohne etwas zu entfernenarr.sort()Sortiert an Ort und Stelle; ohne Vergleichsfunktion als Text: [10, 9, 1].sort() → [1, 10, 9]arr.sort((a, b) => a - b)Zahlen aufsteigend sortieren; seit ES2019 stabilarr.sort((a, b) => a.name.localeCompare(b.name, 'de'))Objekte nach Namen sortieren, Umlaute richtigarr.reverse()Kehrt die Reihenfolge an Ort und Stelle umarr.fill(0)Füllt alle Positionen mit einem Wert; fill(0, 2) erst ab Index 2arr.copyWithin(0, 3)Kopiert Elemente ab Index 3 an den Anfang, Länge bleibt gleicharr.length = 0Leert das Array; alle Verweise darauf sehen das leere ArrayNeues Array, Original bleibt
arr.map(x => x * 2)Neues Array mit den Rückgabewerten: [1, 2, 3] → [2, 4, 6]arr.filter(x => x > 1)Neues Array nur mit Elementen, für die die Funktion wahr ergibtarr.slice(1, 3)Ausschnitt von Index 1 bis vor 3; slice(-2) die letzten zweiarr.concat([4, 5])Verbindet Arrays zu einem neuen[...a, ...b]Spread-Syntax: Arrays verbinden oder flach kopierenarr.flat()Verschachtelte Arrays eine Ebene glätten; flat(Infinity) ganz (ES2019)arr.flatMap(x => [x, x * 10])Erst map, dann eine Ebene glättenarr.toSorted((a, b) => a - b)Sortierte Kopie, Original bleibt unverändert (ES2023)arr.toReversed()Umgekehrte Kopie (ES2023)arr.toSpliced(1, 1)Kopie mit entfernten bzw. eingefügten Elementen (ES2023)arr.with(0, 'neu')Kopie mit ersetztem Element an einem Index (ES2023)structuredClone(arr)Tiefe Kopie inklusive verschachtelter ObjekteSuchen und Prüfen
arr.includes(3)Ist der Wert enthalten? Findet anders als indexOf auch NaN (ES2016)arr.indexOf(3)Erster Index des Werts oder −1arr.lastIndexOf(3)Letzter Index des Werts oder −1arr.find(u => u.id === 7)Erstes passendes Element oder undefinedarr.findIndex(u => u.id === 7)Index des ersten passenden Elements oder −1arr.findLast(x => x < 5)Letztes passendes Element (ES2023)arr.findLastIndex(x => x < 5)Index des letzten passenden Elements (ES2023)arr.some(x => x > 10)Wahr, wenn mindestens ein Element passtarr.every(x => x > 0)Wahr, wenn alle Elemente passen (bei leerem Array immer wahr)arr.at(-1)Element am Index, negative Werte zählen von hinten: das letzte Element (ES2022)Array.isArray(wert)Prüft zuverlässig, ob ein Wert ein Array istDurchlaufen und Zusammenfassen
arr.reduce((summe, x) => summe + x, 0)Fasst alle Elemente zu einem Wert zusammen; Startwert immer angebenarr.reduceRight((a, x) => a + x, '')Wie reduce, aber von hinten nach vornearr.forEach((x, i) => console.log(i, x))Ruft die Funktion für jedes Element auf, gibt undefined zurückfor (const [i, x] of arr.entries()) {}Schleife mit Index und Wert; break ist möglicharr.join(', ')Elemente zu einem Text verbindenObject.groupBy(arr, u => u.rolle)Gruppiert in ein Objekt mit Schlüssel je Gruppe (ES2024)Map.groupBy(arr, u => u.rolle)Gruppiert in eine Map, Schlüssel dürfen beliebige Werte sein (ES2024)Math.max(...arr)Größter Wert; bei sehr großen Arrays lieber reduce nutzenErzeugen und Umwandeln
Array.from('abc')Array aus einem iterierbaren Wert: ['a', 'b', 'c']Array.from({ length: 5 }, (_, i) => i)Zahlenfolge [0, 1, 2, 3, 4]Array.from(document.querySelectorAll('a'))NodeList in ein echtes Array umwandelnArray.of(7)Array mit genau diesem Element; anders als Array(7), das 7 leere Plätze anlegtnew Array(3).fill(0)Array mit drei Nullenawait Array.fromAsync(quelle)Array aus einer asynchronen Quelle, etwa einem Async-Generator (neuere Laufzeitumgebungen)[...new Set(arr)]Doppelte Werte entfernenarr.keys() / arr.values() / arr.entries()Iteratoren über Indizes, Werte oder Paare [index, wert]Object.entries(obj).map(([k, v]) => [k, v * 2])Objekt als Array von Schlüssel-Wert-Paaren bearbeitenObject.fromEntries(paare)Array von Paaren zurück in ein ObjektKein Eintrag gefunden. Versuchen Sie einen anderen Begriff oder wählen Sie „Alle Gruppen“.
Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.
Array-Methoden in JavaScript
Dieser JS Spickzettel listet 54 JavaScript-Array-Methoden und Schreibweisen mit Beispiel und Rückgabewert. Die Gruppen zeigen auf einen Blick, was das Original verändert und was ein neues Array liefert. Wählen Sie „Verändern das Array“, um alle Methoden mit Nebenwirkung zu sehen, oder suchen Sie nach einer Aufgabe wie „entfernen“ oder „gruppieren“.
Ein JavaScript Array ist ein Objekt mit Zahlenindizes und vielen eingebauten Methoden. Am häufigsten braucht man map, filter und reduce: map() formt jedes Element um, filter() wählt aus und reduce() fasst zu einem Wert zusammen. Wichtig ist der Unterschied zwischen verändernden Methoden wie sort(), reverse() oder splice() und solchen, die eine Kopie zurückgeben. Seit ES2023 gibt es mit toSorted(), toReversed(), toSpliced() und with() kopierende Varianten; das ist etwa im React-State hilfreich.
Mit Array.from() erzeugen Sie Arrays aus Zeichenketten, NodeLists, Sets oder einer Länge. Die Jahresangaben (ES2019, ES2023 …) zeigen, ab welcher Sprachversion eine Methode im Standard steht; aktuelle Browser und Node.js unterstützen sie, sehr alte Umgebungen eventuell nicht. Für JSON-Daten, die Sie mit diesen Methoden bearbeiten, helfen der JSON-Formatierer und JSON in TypeScript.
Anleitung: JavaScript-Array-Methoden in 4 Schritten
- Wählen Sie unter „Gruppe“ zum Beispiel „Verändern das Array“ oder „Suchen und Prüfen“.
- Oder suchen Sie nach einer Aufgabe wie „entfernen“, „sortieren“ oder „gruppieren“.
- Lesen Sie Beispiel und Ergebnis in der Beschreibung.
- Kopieren Sie das Beispiel mit „Kopieren“ in Ihre Konsole oder Ihren Code.
Typische Anwendungsfälle
- Die passende Methode finden, ohne die MDN-Seiten einzeln durchzugehen.
- Unbeabsichtigtes Verändern von Arrays vermeiden, etwa im React-State mit
toSorted()stattsort(). - Datenlisten aus APIs filtern, umformen und mit
reduce()oderObject.groupBy()zusammenfassen. - Code-Reviews mit einer kurzen Referenz zu Rückgabewerten und Nebenwirkungen unterstützen.
Häufige Fragen
Welche Array-Methoden verändern das Original?
push, pop, shift, unshift, splice, sort, reverse, fill und copyWithin. Alle anderen Methoden in der Liste lassen das Array unverändert und geben einen neuen Wert zurück.
Warum sortiert sort() Zahlen falsch?
Ohne Vergleichsfunktion wandelt sort() die Elemente in Text um und sortiert nach Unicode-Reihenfolge. Deshalb steht 10 vor 9. Für Zahlen schreiben Sie arr.sort((a, b) => a - b).
Was ist der Unterschied zwischen find und filter?
find() gibt das erste passende Element zurück (oder undefined) und hört dann auf zu suchen. filter() geht alle Elemente durch und gibt immer ein Array mit allen Treffern zurück, notfalls ein leeres.
Wie bekomme ich das letzte Element eines Arrays?
Am kürzesten mit arr.at(-1). Die ältere Schreibweise arr[arr.length - 1] funktioniert überall.
Was ist der Unterschied zwischen forEach und map?
forEach() ruft die Funktion nur auf und gibt undefined zurück. map() gibt ein neues Array mit den Rückgabewerten zurück. Wer das Ergebnis nicht braucht, nimmt forEach() oder eine for...of-Schleife.
Wie entferne ich Duplikate aus einem Array?
Für einfache Werte mit [...new Set(arr)]. Für Objekte nach einem Schlüssel etwa so: arr.filter((x, i, a) => a.findIndex(y => y.id === x.id) === i) oder über eine Map mit dem Schlüssel.
Das könnte auch helfen
HTTP-Statuscodes
Alle gängigen HTTP-Statuscodes von 100 bis 511 mit Bedeutung, typischer Ursache und Suche.
ÖffnenHTTP-Header-Referenz
Wichtige Anfrage- und Antwort-Header mit Bedeutung und Beispiel, durchsuchbar.
ÖffnenMIME-Typen
Über 150 MIME-Typen nachschlagen: Dateiendung zu Content-Type und umgekehrt.
ÖffnenGit-Befehle
Git-Spickzettel: die wichtigsten Befehle nach Aufgaben gruppiert, durchsuchbar und kopierbar.
ÖffnenBash-Befehle
Bash- und Linux-Befehle für Dateien, Text, Prozesse und Netzwerk, mit Suche und Kopieren.
ÖffnenPort-Liste
Bekannte TCP- und UDP-Ports von 20 bis 51820 mit Dienst und Hinweis, durchsuchbar.
Öffnen