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.
Syntaxe
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 decallback
.
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.
Exemple
Afficher le contenu d'un objet Map
en utilisant forEach
Le fragment de code suivant enregistre une ligne pour chaque élément d'un objet Map
:
function logMapElements(valeur, clé, map) { console.log("m[" + clé + "] = " + valeur); } new Map([["toto", 3], ["truc", {}], ["bidule", undefined]]).forEach(logMapElements); // enregistre : // "m[toto] = 3" // "m[truc] = [object Object]" // "m[bidule] = undefined"
Spécifications
Spécification | État | Commentaires |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) La définition de 'Map.prototype.forEach' dans cette spécification. |
Standard | Définition initiale. |
ECMAScript 2017 Draft (ECMA-262) La définition de 'Map.prototype.forEach' dans cette spécification. |
Projet |
Compatibilité des navigateurs
Fonctionnalité | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Support simple | 38 | 25.0 (25.0) | 11 | 25 | 7.1 |
Fonctionnalité | Android | Chrome pour Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Support simple | Pas de support | 38 | 25.0 (25.0) | Pas de support | Pas de support | 8 |