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.

La méthode forEach() exécute une fonction donnée sur chaque élément clé-valeur de l'objet Map dans l'ordre d'insertion.

Exemple interactif

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"

Syntaxe

js
maMap.forEach(callback[, thisArg])

Paramètres

callback

La fonction à exécuter pour chaque élément.

thisArg

La valeur à utiliser comme contexte this lors de l'exécution de callback.

Valeur de retour

Description

La méthode forEach exécute la fonction callback donnée sur chacune des clés qui existe. Elle n'est pas appelée pour les clés qui ont été supprimées. En revanche, elle est appelée pour les valeurs qui sont présentes mais qui sont égales à undefined.

callback est appelé avec trois arguments :

  • la valeur de l'élément
  • la clé de l'élément
  • l'objet Map parcouru

Si un argument thisArg est fourni à la méthode forEach, il sera passé au callback quand il sera appelé et celui-ci l'utilisera comme valeur this. Dans les autres cas, la valeur undefined sera utilisée comme contexte this. La valeur this observée par la fonction callback est déterminée selon les règles appliquées à l'opérateur this.

Chacune des valeurs sera traitée une fois sauf si celle-ci a été supprimée puis réajoutée avant la fin de forEach. callback n'est pas appelé pour les valeurs qui sont supprimés avant le passage de la fonction. Les valeurs qui sont ajoutées avant que forEach ait parcouru l'ensemble seront traitées.

forEach exécute la fonction callback une fois pour chaque élément de l'objet Map : il ne renvoie pas de valeur.

Exemples

Le fragment de code suivant enregistre une ligne pour chaque élément d'un objetMap:

js
function logMapElements(valeur, clé, map) {
  console.log(`map.get('${clé}') = ${value}`);
}

new Map([
  ["toto", 3],
  ["truc", {}],
  ["bidule", undefined],
]).forEach(logMapElements);
// affichera dans la console :
// "map.get('toto') = 3"
// "map.get('truc') = [object Object]"
// "map.get('bidule') = undefined"

Spécifications

Specification
ECMAScript® 2025 Language Specification
# sec-map.prototype.foreach

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
forEach

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Voir aussi