Sobes.tech
Junior

Aký je rozdiel medzi metódami foreach a map v JavaScripte?

sobes.tech AI

Odpoveď od AI

forEach prechádza prvky poľa a vykonáva spätnú volaciu funkciu pre každý prvok, ale nevytvára nový pole. Používa sa na vedľajšie efekty, ako je výpis do konzoly alebo zmena vonkajších premenných.

map tiež prechádza prvky poľa a vykonáva spätnú volaciu funkciu pre každý prvok. Avšak, vracia nové pole obsahujúce výsledky vykonania tejto funkcie na každý prvok. Používa sa na transformáciu jedného poľa na iné.

Príklad s forEach:

const numbers = [1, 2, 3];
numbers.forEach(number => console.log(number * 2));
// Výstup:
// 2
// 4
// 6
// pole numbers zostáva [1, 2, 3]

Prí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 zostáva [1, 2, 3]

Hlavný rozdiel je v tom, že map je "funkcionálna" metóda, ktorá nemení pôvodné pole a vracia nové, zatiaľ čo forEach je primárne určený na vykonávanie akcií na každom prvku bez vracania nového poľa.

Kritérium forEach map
Vrátená hodnota undefined Nové pole
Zmena poľa Nevykonáva zmenu pôvodného poľa Vytvára nové pole
Hlavný účel Vykonávanie akcií na každom prvku Transformácia poľa na iné
Zreťazenie metód Nie je podporované nativne Podporované (vracia pole)