Sobes.tech
Junior

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)