JavaScript: Array.prototype.forEach

By Xah Lee. Date: . Last updated: .
Apply function f to every element of the array arrayX. Return undefined. Original array is not changed.
The function f is passed 3 args: • current_elementcurrent_indexarrayX.
arrayX.forEach(f, thisArg)
Use thisArg for this Binding of f. If it is not given, undefined is used.
const x1 = [1, 2, 3];

const ff = ((x) => {


// prints
// 1
// 2
// 3

Example of using forEach with a second argument.

// example of using forEach with a second argument

function ff (n) {
    this["k" + n] = n; // add a property key kn with value of n, to thisBinding object
    return n+1;

// new object
const obj = {};

// array
const arr = [1,2,3];

// apply ff to each arr, using obj as thisBinding of ff
arr.forEach (ff, obj);

// obj is changed
console.log(obj); // { k1: 1, k2: 2, k3: 3 }

forEach that returns Array

If you need the result returned as array, use map.


forEach with break

If you need to exit forEach when a condition is met, use “every” or “some”.

[see Array.prototype.every]

[see Array.prototype.some]

JS in Depth

JS in Depth

JS Obj Ref


JS Obj Ref