Map.prototype.forEach()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
O método forEach()
executa a função que foi provida uma vez para cada par de chave-valor no objeto Map
, na order em que foram inseridos.
Experimente
Sintaxe
// Arrow function
forEach(() => { ... } )
forEach((value) => { ... } )
forEach((value, key) => { ... } )
forEach((value, key, map) => { ... } )
// função de Callback
forEach(callbackFn)
forEach(callbackFn, thisArg)
// função de callback inline
forEach(function callbackFn() { ... })
forEach(function callbackFn(value) { ... })
forEach(function callbackFn(value, key) { ... })
forEach(function callbackFn(value, key, map) { ... })
forEach(function callbackFn(value, key, map) { ... }, thisArg)
Parâmetros
callbackFn
-
A função que será executada em cada entrada do map. Ela receberá os seguintes argumentos:
value
Optional-
O valor de cada iteração.
key
Optional-
A chave de cada iteração.
map
Optional-
O map que está sendo iterado.
thisArg
Optional-
O valor para usar como
this
quando o callback for executado.
Valor retornado
Descrição
O método forEach
executa o callback
fornecido uma vez para cada chave do map
que realmente existe.
Ele não é invocado para chaves que foram deletadas.
Porém, é executado para valores que estão presentes mesmo tendo o valor undefined
.
O callback
é invocado com três argumentos:
- O
value
de entrada - A
key
de entrada - o objeto
Map
que está sendo percorrido
Se o parâmetro thisArg
for fornecido para o forEach
, ele será passado para o
callback
quando for invocado, para ser usado como o valor de this
. De outra forma,
o valor undefined
será usado como valor de this
. O valor de this
será
observado pelo callback
em última análise e será determinado de acordo com
as regras usuais para a determinação do this
visto por uma função.
Cada valor será visitado uma vez, exceto no caso em que foram deletados e adicionados novamente
antes do forEach
ser finalizado. O callback
não é invocado para valores que foram removidos antes de
terem sidos visitados. Novos valores adicionados antes do forEach
terminar serão visitados.
Exemplos
Exibindo o conteúdo de um objeto Map
O código a seguir imprime uma linha para cada elemento do objeto 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"
Especificações
Specification |
---|
ECMAScript Language Specification # sec-map.prototype.foreach |
Compatibilidade com navegadores
BCD tables only load in the browser