Higher-Order Array Methods
forEach Totals
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
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);
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
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
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