To su immutable iteratori niza — vraćaju novu vrijednost umjesto mutiranja originala, što rezultira čišćim i deklarativnijim kodom od ručnih for petlji.
js
nums = [, , , ];
nums.( n * );
nums.( n % === );
nums.( sum + n, );
To su immutable iteratori niza — vraćaju novu vrijednost umjesto mutiranja originala, što rezultira čišćim i deklarativnijim kodom od ručnih for petlji.
nums = [, , , ];
nums.( n * );
nums.( n % === );
nums.( sum + n, );
Reduce prolazi kroz niz sa "akumulator". Svaki korak vraća novi akumulator:
// step 0: acc=0, n=1 → 1
// step 1: acc=1, n=2 → 3
// step 2: acc=3, n=3 → 6
// step 3: acc=6, n=4 → 10
Nije samo za zbrajanja — reduce može graditi objekte, grupirati stavke ili spljoštavati:
users.reduce((acc, u) => { acc[u.id] = u; return acc; }, {}); // index by id
Oni se lančaju čisto i ne mutiraju, što je bitno u state-driven sučeljima. Koristite forEach samo za sporedne efekte (ne vraća ništa). Za velike nizove gdje biste inače lančali više prolaza, jedan reduce ili obična petlja može biti učinkovitija.