JavaScript .map()-Methode
Die JavaScript-Methode .map() erlaubt es dir, jedes Element eines Arrays zu durchlaufen und gezielte Aktionen auszuführen. Das Beste daran: Dein ursprüngliches Array bleibt dabei vollkommen unverändert.
Was steckt hinter JavaScript .map()?
Mit der JavaScript-Methode .map() erzeugst du ein frisches Array, indem du eine Callback-Funktion auf jedes einzelne Element des Ausgangsarrays anwendest. Die Methode wandelt jeden Wert um und speichert das Resultat in einem neuen Array ab. Ein wesentlicher Vorteil ist die Immutability (Unveränderlichkeit) – dein Original-Array wird also nicht angetastet.
Häufig wird .map() genutzt, um sämtliche Elemente innerhalb eines Arrays zu transformieren. Ob du Zahlen quadrieren, Texte neu formatieren oder Objekte anpassen möchtest: .map() ist die ideale Wahl für sauberen, wartbaren Code ohne destruktive Datenänderungen.
Die Syntax von JavaScript .map() im Überblick
Die Anwendung der .map()-Methode erfolgt über einen Funktionsaufruf (Callback) direkt auf einem Array:
const newArr = originalArr.map(function(element, index, array) {
// Code
});javascriptoriginalArr: Das Array, das du mit.map()bearbeiten möchtestelement: Das Element, das im aktuellen Durchlauf an der Reihe istindex (optional): Die Position (Index) des aktuellen Elementsarray (optional): Das Quell-Array in seiner Gesamtheit
Hier ein praktisches Beispiel zur Veranschaulichung:
const numbers = [1, 2, 3, 4, 5];
const squaredNumbers = numbers.map(function(number) {
return number * number;
});
console.log(squaredNumbers); // Output: [1, 4, 9, 16, 25]javascriptDie Callback-Funktion, die wir an .map() übergeben, schnappt sich jeden Wert aus number und quadriert ihn. Am Ende halten wir ein neues Array in Händen, das ausschließlich die berechneten Quadratzahlen enthält.
Einsatzmöglichkeiten für .map()
Dank .map() stehen dir viele Wege offen, Array-Daten effizient zu verarbeiten. Das sind die typischen Anwendungsfälle:
Daten präzise filtern
Kombinierst du .map() mit der .filter()-Methode, erstellst du im Handumdrehen ein Array, das nur noch jene Werte enthält, die deine Kriterien erfüllen.
const numbers = [1, 2, 3, 4, 5];
const evenNumbersTimesTwo = numbers.filter(num => num % 2 === 0).map(num => num * 2);
// Output: [4, 8]javascriptIn diesem Szenario fangen wir mit dem Array numbers (Werte 1 bis 5) an. Zuerst nutzen wir .filter(), um nur gerade Zahlen (Modulo 2 gleich 0) herauszufiltern. Das ergibt das Zwischenergebnis [2, 4]. Danach kommt .map() ins Spiel, um jeden dieser Werte zu verdoppeln. Das finale Resultat ist ein Array mit den Werten [4, 8].
Listen in Frameworks ausgeben
React gehört zu den gefragtesten JavaScript-Bibliotheken am Markt. Hier ist .map() der Standardweg, um Listen mittels JSX-Syntax darzustellen.
import React from "react";
import ReactDOM from "react-dom";
const colors = ["red", "green", "blue", "yellow", "orange"];
const ColorsList = () => (
<div>
<ul>{colors.map(color => <li key={color}> {color} </li>)}</ul>
</div>
);
const rootElement = document.getElementById("root");
ReactDOM.render(<ColorsList />, rootElement);javascriptNach dem Import von React und ReactDOM definieren wir das Array colors. Die Komponente ColorsList nutzt map(), um für jeden Eintrag ein passendes <li>-Element zu generieren. Über das key-Attribut weiß React genau, welche Teile aktualisiert werden müssen. Zum Schluss rendert ColorsList das Ganze via ReactDOM.render direkt in das DOM-Element mit der ID root.
Array-Elemente schnell formatieren
Wenn du zum Beispiel Strings einheitlich anpassen willst, ist .map() ein extrem hilfreiches Werkzeug.
const names = ["Alice", "Bob", "Charlie"];
const formattedNames = names.map(name => name.toLowerCase());
// Output: ["alice", "bob", "charlie"]javascriptWir verknüpfen .map() mit toLowerCase(), damit alle Namen konsequent in Kleinschreibung umgewandelt werden. Du erhältst das neue Array formattedNames, während die ursprünglichen Daten in names glücklicherweise unberührt bleiben.