Junior
Jaký je rozdíl mezi metodami foreach a map v JavaScriptu?
sobes.tech AI
Odpověď od AI
forEach prochází prvky pole a provádí zpětnou volací funkci pro každý prvek, ale nevytváří nový pole. Používá se pro vedlejší efekty, jako je výpis do konzole nebo změna vnějších proměnných.
map také prochází prvky pole a provádí zpětnou volací funkci pro každý prvek. Nicméně vrací nové pole obsahující výsledky provádění této funkce na každý prvek. Používá se k transformaci jednoho pole na jiné.
Příklad s forEach:
const numbers = [1, 2, 3];
numbers.forEach(number => console.log(number * 2));
// Výstup:
// 2
// 4
// 6
// pole numbers zůstává [1, 2, 3]
Příklad s map:
const numbers = [1, 2, 3];
const doubledNumbers = numbers.map(number => number * 2);
console.log(doubledNumbers);
// Výstup: [2, 4, 6]
// pole numbers zůstává [1, 2, 3]
Klíčový rozdíl je v tom, že map je "funkcionální" metoda, která nemění původní pole a vrací nové, zatímco forEach je primárně určen k provádění akcí na každém prvku bez vrácení nového pole.
| Kritérium | forEach |
map |
|---|---|---|
| Vrácená hodnota | undefined |
Nové pole |
| Změna pole | Nevytváří nové pole | Vytváří nové pole |
| Hlavní účel | Provádění akcí na každém prvku | Převod pole na jiné |
| Řetězení metod | Nativně nepodporováno | Podporováno (vrací pole) |