O método forEach()
executa uma função fornecida uma vez para cada par de chave/valor no objeto Map
, pela órdem de inserção.
Sintaxe
meuMapa.forEach(callback[, thisArg])
Parâmetros
callback
- Função a ser executada para cada elemento.
thisArg
- Valor a utilizar como o
this
quando estiver executando ocallback
.
Valor de retorno
Descrição
O método forEach
executa o callback
fornecido uma vez para cada chave existente no mapa. Ele não é invocado para as chaves que foram removidas. No entanto, ele é executado para ítens que estão presentes mesmo com o valor undefined
.
callback
é invocado com três argumentos:
- o valor do elemento
- a chave do elemento
- o
Objeto Map
que está sendo atravessado
Se um parâmetro thisArg
for fornecido ao forEach
, ele será passado ao callback
quando invocado, e será utilizado como o valor de seu this
. De outra forma, o valor undefined
será passado como o valor de seu this
. O valor this
observável em última instância por callback é determinado de acordo com as regras comuns para determinar o this
sendo visto por uma função.
Cada valor é visitado uma vez, exceto para o caso em que ele foi removido e re-adicionado antes do forEach
ter acabado de ser executado. o callback
não é invocadp para valores removidos antes de serem visitados. Novos valores adicionados antes do forEach
ter acabado serão visitados.
forEach
executa a função de callback
uma vez para cada elemento no objeto Map
; ele não retorna um valor.
Exemplos
Impriminto o conteúdo de um objeto Map
O código a seguir registra uma linha de log para cada elemento no objeto Map
:
function registrarElementosDoMapa(valor, chave, mapa) { console.log(`m[${chave}] = ${valor}`); } new Map([['foo', 3], ['bar', {}], ['baz', undefined]]).forEach(registrarElementosDoMapa); // logs: // "m[foo] = 3" // "m[bar] = [object Object]" // "m[baz] = undefined"
Especificações
Especificação | Status | Comentário |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Map.prototype.forEach' in that specification. |
Padrão | Definição inicial. |
ECMAScript Latest Draft (ECMA-262) The definition of 'Map.prototype.forEach' in that specification. |
Rascunho |
Compatibilidade com os navegadores
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 38 | 25.0 (25.0) | 11 | 25 | 7.1 |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | Não suportado | 38 | 25.0 (25.0) | Não suportado | Não suportado | 8 |