Care este diferența dintre metodele foreach și map în JavaScript?
sobes.tech AI
Răspuns de la AI
forEach elementele unui array le parcurge și execută o funcție de callback pentru fiecare element, dar nu creează un nou array. Este folosit pentru efecte secundare, cum ar fi afișarea în consolă sau modificarea variabilelor externe.
map parcurge de asemenea elementele array-ului și execută o funcție de callback pentru fiecare element. Totuși, returnează un nou array care conține rezultatele executării acestei funcții pe fiecare element. Este folosit pentru transformarea unui array în altul.
Exemplu cu forEach:
const numbers = [1, 2, 3];
numbers.forEach(number => console.log(number * 2));
// Ieșire:
// 2
// 4
// 6
// numbers rămâne [1, 2, 3]
Exemplu cu map:
const numbers = [1, 2, 3];
const doubledNumbers = numbers.map(number => number * 2);
console.log(doubledNumbers);
// Ieșire: [2, 4, 6]
// numbers rămâne [1, 2, 3]
Diferența cheie este că map este o metodă "funcțională" care nu modifică array-ul original și returnează unul nou, în timp ce forEach este destinat în principal pentru efectuarea de acțiuni asupra fiecărui element fără a returna un nou array.
| Criteriu | forEach |
map |
|---|---|---|
| Valoarea returnată | undefined |
Nou array |
| Modificarea array-ului | Nu creează un nou array | Creează un nou array |
| Scopul principal | Efectuarea de acțiuni pe fiecare element | Transformarea unui array în altul |
| Chainarea metodelor | Nu este suportat în mod nativ | Este suportat (returnează un array) |