Esta página foi traduzida do inglês pela comunidade. Saiba mais e junte-se à comunidade MDN Web Docs.

View in English Always switch to English

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 ⁨julho de 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

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"

Sintaxe

js
// 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

undefined.

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:

js
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® 2026 Language Specification
# sec-map.prototype.foreach

Compatibilidade com navegadores

Veja também