Sobes.tech
Junior

Mi a különbség a foreach és a map módszerek között JavaScriptben?

sobes.tech MI

Válasz az MI-től

A forEach végigmegy a tömb elemein, és minden elemhez egy callback függvényt hajt végre, de nem hoz létre új tömböt. Kísérőhatásokhoz használják, például a konzolba íráshoz vagy külső változók módosításához.

A map szintén végigmegy a tömb elemein, és minden elemhez egy callback függvényt hajt végre. Azonban egy új tömböt ad vissza, amely tartalmazza ennek a függvénynek az eredményeit minden elemre alkalmazva. Átalakításra használják egyik tömbből a másikba.

Példa forEach-tel:

const numbers = [1, 2, 3];
numbers.forEach(number => console.log(number * 2));
// Kimenet:
// 2
// 4
// 6
// a numbers változatlan marad [1, 2, 3]

Példa map-pel:

const numbers = [1, 2, 3];
const doubledNumbers = numbers.map(number => number * 2);
console.log(doubledNumbers);
// Kimenet: [2, 4, 6]
// a numbers változatlan marad [1, 2, 3]

A fő különbség az, hogy a map egy "funkcionális" módszer, amely nem módosítja az eredeti tömböt, és újat ad vissza, míg a forEach elsősorban az egyes elemek műveleteire szolgál, anélkül, hogy új tömböt adna vissza.

Kritérium forEach map
Visszatérési érték undefined Új tömb
Tömb módosítása Nem hoz létre új tömböt Új tömböt hoz létre
Fő cél Műveletek végrehajtása minden elemre Egy tömb átalakítása egy másikra
Metódus láncolás Nem támogatott natívan Támogatott (visszaad egy tömböt)