iteration

Array.prototype.forEach

Executes a provided callback once for each array element, in ascending order. Reach for it when you need side effects (logging, DOM updates, pushing to another store) and do not need a return value.

arr.forEach(callbackFn[, thisArg])

Parameters

Parameter Purpose
callbackFn(element, index, array) Function invoked for each element
thisArg Value used as `this` inside callbackFn

Examples

['a','b','c'].forEach((v, i) => console.log(i, v));

Logs: 0 'a', 1 'b', 2 'c'

let sum = 0; [1,2,3].forEach(n => sum += n); console.log(sum);

Logs: 6

console.log([1,2,3].forEach(x => x * 2));

Logs: undefined (forEach returns undefined)

[1,,3].forEach(v => console.log(v));

Logs: 1, 3 (skips empty slots/holes)

Gotcha

Returns undefined and cannot be chained. You cannot break out of forEach with break or return — use for...of or some/every instead.

Related methods

← All JS array methods · TypeScript vs JavaScript