Map.prototype.forEach()

O método forEach() executa uma função fornecida uma vez para cada par de chave/valor no objeto Map, pela ordem 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 o callback.

Valor de retorno

undefined.

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 é invocado 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

Imprimindo 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

Estamos convertendo nossos dados de compatibilidade para o formato JSON. Esta tabela de compatibilidade ainda usa o formato antigo, pois ainda não convertemos os dados que ela contém. Descubra como você pode ajudar!
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

Veja também