forEach în JavaScript

Tablouri (array) ES5 (toate browserele moderne)

Rulează o funcție pentru fiecare element dintr-un tablou.

Sintaxă
tablou.forEach((element, indice, tablou) => { ... })

Ce face forEach

forEach parcurge tabloul și apelează funcția dată pentru fiecare element. Funcția primește elementul, indicele lui și tabloul întreg.

forEach nu returnează nimic și nu poate fi oprit cu break. Dacă vrei un tablou nou, folosește map. Dacă vrei să te oprești la un moment dat, folosește for...of.

Parametri

Parametru Descriere
element Elementul curent.
indice Opțional. Poziția elementului.
tablou Opțional. Tabloul parcurs.

Ce returnează

undefined.

Exemple

Exemplul 1: Afișarea fiecărui element

const limbaje = ["PHP", "JavaScript", "SQL"];

limbaje.forEach((limbaj, indice) => {
  console.log(`${indice + 1}. ${limbaj}`);
});

Rezultat

1. PHP
2. JavaScript
3. SQL

Exemplul 2: Calculul unui total

const cos = [
  { produs: "Mouse", pret: 80, bucati: 2 },
  { produs: "Tastatură", pret: 150, bucati: 1 },
];
let total = 0;

cos.forEach((linie) => {
  total += linie.pret * linie.bucati;
});

console.log(`Total: ${total} lei`);

Rezultat

Total: 310 lei

Greșeli frecvente

  • Scrii const rezultat = tablou.forEach(...) și primești undefined. Pentru un tablou nou folosește map.
  • Folosești await în funcția dată lui forEach și te aștepți să aștepte. Nu așteaptă. Folosește for...of cu await.

Comenzi înrudite

  • map: Creează un tablou nou, transformând fiecare element cu o funcție.
  • for...of: Parcurge pe rând elementele unui tablou, ale unui șir sau ale altei colecții.
  • reduce: Combină toate elementele unui tablou într-o singură valoare: o sumă, un obiect, un text.