Spec-Zone.ru › JavaScript

Map.prototype.forEach()

Базовый уровень Широко доступен

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.

Метод forEach() экземпляров Map выполняет предоставленную функцию один раз для каждой пары ключ/значение в этом объекте Map, в порядке добавления.

Попробуйте

function logMapElements(value, key, map) {
  console.log(`m[${key}] = ${value}`);
}

new Map([
  ["foo", 3],
  ["bar", {}],
  ["baz", undefined],
]).forEach(logMapElements);

// Expected output: "m[foo] = 3"
// Expected output: "m[bar] = [object Object]"
// Expected output: "m[baz] = undefined"

Синтаксис

forEach(callbackFn)
forEach(callbackFn, thisArg)

Параметры

callbackFn
Функция, которая будет выполняться для каждой записи в Map. Функция вызывается со следующими аргументами:
value
Значение текущей итерации.
key
Ключ текущей итерации.
map
Объект Map, по которому выполняется итерация.
thisArg Необязательный
Значение, которое будет использоваться как this при выполнении callbackFn.

Возвращаемое значение

Отсутствует (undefined).

Описание

Метод forEach выполняет предоставленный callback один раз для каждого ключа Map, который действительно существует. Он не вызывается для удаленных ключей. Однако он выполняется для значений, которые присутствуют, но имеют значение undefined.

callback вызывается с тремя аргументами:

  • value записи
  • key записи
  • объект Map, по которому выполняется обход

Если параметр thisArg предоставлен для forEach, он будет передан в callback при вызове для использования в качестве его значения this. В противном случае, значение undefined будет передано для использования в качестве его значения this. Значение this, в конечном счете видимое для callback, определяется в соответствии с обычными правилами определения this, видимого функцией.

Каждое значение посещается один раз, за исключением случая, когда оно было удалено и добавлено снова до того, как forEach завершился. callback не вызывается для значений, удаленных до их посещения. Новые значения, добавленные до завершения forEach, будут посещены.

Примеры

Вывод содержимого объекта Map

Следующий код выводит строку для каждого элемента в объекте Map:

function logMapElements(value, key, map) {
  console.log(`map.get('${key}') = ${value}`);
}
new Map([
  ["foo", 3],
  ["bar", {}],
  ["baz", undefined],
]).forEach(logMapElements);
// Logs:
// "map.get('foo') = 3"
// "map.get('bar') = [object Object]"
// "map.get('baz') = undefined"

Спецификации

Спецификация
Спецификация языка ECMAScript® 2027
# sec-map.prototype.foreach

Совместимость с браузерами

Десктопные Мобильные Серверные
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
forEach
38
12
25
25
8
38
25
25
8
3.0
38
8
1.0.0
1.0
0.12.0

Смотрите также

  • Array.prototype.forEach()
  • Set.prototype.forEach()

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/forEach

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API