Use a callback for each array element.

for-each-total `forEach` calls a function once for every element. It is useful when each element should update an outside value or perform a side effect.

forEach Totals

factor
for_each_total.js
Replay: real traced execution (multi-file project)
const factor = 2;
const values = [1, 2, 3];
let total = 0;
values.forEach((value) => total += value * factor);

console.log("factor=" + factor);
console.log("total=" + total);
const factor = 3;
const values = [1, 2, 3];
let total = 0;
values.forEach((value) => total += value * factor);

console.log("factor=" + factor);
console.log("total=" + total);
const factor = 4;
const values = [1, 2, 3];
let total = 0;
values.forEach((value) => total += value * factor);

console.log("factor=" + factor);
console.log("total=" + total);
  1. factor ← 2, values ← 1,2,3, total ← 0

    1const factor→ 2 = 2; //@factor=3, 42const values→ 1,2,3 = [1, 2, 3];3let total→ 0 = 0;4values.forEach((value) => total += value * factor);56console.log("factor=" + factor2);7console.log("total=" + total12);
    outputfactor=2
    total=12
  1. factor ← 3, values ← 1,2,3, total ← 0

    1const factor→ 3 = 3;2const values→ 1,2,3 = [1, 2, 3];3let total→ 0 = 0;4values.forEach((value) => total += value * factor);56console.log("factor=" + factor3);7console.log("total=" + total18);
    outputfactor=3
    total=18
  1. factor ← 4, values ← 1,2,3, total ← 0

    1const factor→ 4 = 4;2const values→ 1,2,3 = [1, 2, 3];3let total→ 0 = 0;4values.forEach((value) => total += value * factor);56console.log("factor=" + factor4);7console.log("total=" + total24);
    outputfactor=4
    total=24