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) |