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"
Спецификации
Совместимость с браузерами
| Десктопные | Мобильные | Серверные | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
Смотрите также
© 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