Mozilla's getting a new look. What do you think? https://mzl.la/brandsurvey

Set.prototype.forEach()

La méthode forEach() permet d'exécuter une fonction donnée, une fois pour chaque valeur de l'ensemble Set. L'ordre appliqué est celui dans lequel les valeurs ont été ajoutées à l'ensemble.

Syntaxe

monSet.forEach(callback[, thisArg])

Valeur de retour

undefined.

Paramètres

callback
La fonction qu'on souhaite exécuter pour chaque élément.
thisArg
Paramètre optionnel. La valeur à utiliser comme this lors de l'exécution de callback.

Description

La méthode forEach exécute la fonction callback fournie pour chaque valeur contenue au sein de l'objet Set. Elle n'est pas appelée pour les valeurs qui ont été supprimées. Cependant, elle est exécutée si jamais la valeur vaut undefined.

callback est appelé avec trois arguments :

  • la valeur de l'élément
  • la valeur de l'élément
  • l'objet Set qui est parcouru

Les objets Set n'ont pas de clé (key). Cependant les deux premiers arguments correspondent à la valeur contenue dans l'objet Set. Cela permet d'utiliser les fonctions callback de façon cohérente avec les méthodes forEach de Map et Array.

Si un paramètre thisArg est fourni, il sera passé à la fonction callback lors de l'appel comme valeur this. Par défaut, la valeur undefined sera passée comme argument this. La valeur this effectivement reçue par la fonction callback est déterminée selon les règles usuelles de détermination de this par une fonction.

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 Set. Cette méthode ne renvoie pas de valeur.

Exemple

Afficher le contenu d'un objet Set

Le code qui suit permet d'enregistrer une ligne pour chaque élément contenu dans l'objet Set :

function logSetElements(valeur1, valeur2, set) {
    console.log("s[" + valeur1 + "] = " + valeur2);
}

new Set(["toto", "truc", undefined]).forEach(logSetElements);

// affichera :
// "s[toto] = toto"
// "s[truc] = truc"
// "s[undefined] = undefined"

Spécifications

Spécification État Commentaires
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'Set.prototype.forEach' dans cette spécification.
Standard Définition initiale.
ECMAScript 2017 Draft (ECMA-262)
La définition de 'Set.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

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight
 Dernière mise à jour par : SphinxKnight,