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