Iterator.prototype.forEach()

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

The forEach() method of Iterator instances is similar to Array.prototype.forEach(): it executes a provided function once for each element produced by the iterator.

Syntax

js
forEach(callbackFn)

Parameters

callbackFn

A function to execute for each element produced by the iterator. Its return value is discarded. The function is called with the following arguments:

element

The current element being processed.

index

The index of the current element being processed.

Return value

Description

forEach() iterates the iterator and invokes the callbackFn function once for each element. Unlike most other iterator helper methods, it does not work with infinite iterators, because it is not lazy.

Examples

Using forEach()

js
new Set([1, 2, 3]).values().forEach((v) => console.log(v));

// Logs:
// 1
// 2
// 3

This is equivalent to:

js
for (const v of new Set([1, 2, 3]).values()) {
  console.log(v);
}

Specifications

Specification
Iterator Helpers
# sec-iteratorprototype.foreach

Browser compatibility

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
forEach

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.
Has more compatibility info.

See also