Heim >Web-Frontend >js-Tutorial >Die Methode „map()' für JavaScript-Arrays verstehen: Eine einfache Anleitung
Die Methode map() erstellt ein neues Array, indem sie eine bereitgestellte Funktion (callbackFn) auf jedes Element des ursprünglichen Arrays anwendet. Es eignet sich perfekt zum Transformieren von Daten, ohne das ursprüngliche Array zu ändern.
array.map(callbackFn, thisArg)
const numbers = [1, 4, 9]; const roots = numbers.map((num) => Math.sqrt(num)); console.log(roots); // [1, 2, 3]
const kvArray = [ { key: 1, value: 10 }, { key: 2, value: 20 }, ]; const reformatted = kvArray.map(({ key, value }) => ({ [key]: value })); console.log(reformatted); // [{ 1: 10 }, { 2: 20 }]
// Common mistake: console.log(["1", "2", "3"].map(parseInt)); // [1, NaN, NaN] // Correct approach: console.log(["1", "2", "3"].map((str) => parseInt(str, 10))); // [1, 2, 3] // Alternative: console.log(["1", "2", "3"].map(Number)); // [1, 2, 3]
Wenn der Rückruf nichts zurückgibt, führt dies zu undefiniert im neuen Array:
const numbers = [1, 2, 3, 4]; const result = numbers.map((num, index) => (index < 3 ? num : undefined)); console.log(result); // [1, 2, 3, undefined]
Verwenden Sie filter() oder flatMap(), um unerwünschte Elemente zu entfernen.
Vermeiden Sie die Verwendung von map() für Vorgänge mit Nebenwirkungen, wie z. B. das Aktualisieren von Variablen:
const cart = [5, 15, 25]; let total = 0; // Avoid this: const withTax = cart.map((cost) => { total += cost; return cost * 1.2; }); // Instead, use separate methods: const total = cart.reduce((sum, cost) => sum + cost, 0); const withTax = cart.map((cost) => cost * 1.2);
Das dritte Argument (Array) ermöglicht den Zugriff auf Nachbarn während Transformationen:
const numbers = [3, -1, 1, 4]; const averaged = numbers.map((num, idx, arr) => { const prev = arr[idx - 1] || 0; const next = arr[idx + 1] || 0; return (prev + num + next) / 3; }); console.log(averaged);
const elems = document.querySelectorAll("option:checked"); const values = Array.from(elems).map(({ value }) => value);
const products = [{ name: "phone" }]; const updated = products.map((p) => ({ ...p, price: 100 }));
Verwenden Sie map(), um Ihren Code bei der effizienten Transformation von Arrays zu vereinfachen!
Das obige ist der detaillierte Inhalt vonDie Methode „map()' für JavaScript-Arrays verstehen: Eine einfache Anleitung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!