Sobes.tech
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)