So immutable iteratorji nizov — vrnejo novo vrednost namesto da bi mutirali original, kar vodi do čistejše, bolj deklarativne kode kot ročne for zanke.
js
nums = [, , , ];
nums.( n * );
nums.( n % === );
nums.( sum + n, );
So immutable iteratorji nizov — vrnejo novo vrednost namesto da bi mutirali original, kar vodi do čistejše, bolj deklarativne kode kot ročne for zanke.
nums = [, , , ];
nums.( n * );
nums.( n % === );
nums.( sum + n, );
Reduce gre skozi niz z "akumulatorjem". Vsak korak vrne 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
Ni samo za vsote — reduce lahko gradi objekte, grupira elemente ali sploščuje:
users.reduce((acc, u) => { acc[u.id] = u; return acc; }, {}); // index by id
Se čisto verižijo in ne mutirajo, kar je pomembno v UI-jih, ki jih poganja stanje. Uporabite forEach samo za stranske učinke (vrne nič). Za ogromne nize, kjer bi sicer verižili mnogo prehajanj, lahko en sam reduce ali navadna zanka bolj učinkoviti.