Get to know MDN better
Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Depuis March 2025, cette fonctionnalité fonctionne sur les appareils et les versions de navigateur les plus récents. Elle peut ne pas fonctionner sur les appareils ou navigateurs plus anciens.
La méthode reduce() des instances de Iterator est similaire à Array.prototype.reduce : elle exécute une fonction de rappel « réductrice » fournie par l'utilisateur·ice sur chaque élément produit par l'itérateur, en passant la valeur de retour du calcul sur l'élément précédent. Le résultat final de l'exécution de la fonction réductrice sur tous les éléments est une seule valeur.
Une fonction à exécuter pour chaque élément produit par l'itérateur. Sa valeur de retour devient la valeur du paramètre accumulator lors de l'appel suivant de callbackFn. Lors du dernier appel, la valeur de retour devient la valeur de retour de reduce(). La fonction est appelée avec les arguments suivants :
accumulatorLa valeur résultant de l'appel précédent à callbackFn. Lors du premier appel, sa valeur est initialValue si ce dernier est défini ; sinon, sa valeur est le premier élément de l'itérateur.
currentValueLa valeur de l'élément actuel. Lors du premier appel, sa valeur est le premier élément de l'itérateur si initialValue est défini ; sinon, sa valeur est le deuxième élément.
currentIndexLa position de l'index de currentValue. Lors du premier appel, sa valeur est 0 si initialValue est défini, sinon 1.
initialValue FacultatifUne valeur à laquelle accumulator est initialisé lors du premier appel de la fonction de rappel. Si initialValue est défini, callbackFn commence à s'exécuter avec le premier élément comme currentValue. Si initialValue n'est pas spécifié, accumulator est initialisé au premier élément, et callbackFn commence à s'exécuter avec le deuxième élément comme currentValue. Dans ce cas, si l'itérateur est vide (de sorte qu'il n'y a pas de première valeur à retourner comme accumulator), une erreur est levée.
La valeur résultant de l'exécution complète de la fonction de rappel « réductrice » sur l'ensemble de l'itérateur.
Levée si l'itérateur ne contient aucun élément et que initialValue n'est pas fourni.
Voir Array.prototype.reduce() pour plus de détails sur le fonctionnement de reduce(). Contrairement à la plupart des autres méthodes d'aide à l'itérateur, elle ne fonctionne pas bien avec les itérateurs infinis, car elle n'est pas paresseuse.
L'exemple suivant crée un itérateur qui produit les termes de la suite de Fibonacci, puis additionne les dix premiers termes :
| ECMAScript® 2027 Language Specification # sec-iterator.prototype.reduce |
Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.
Cette page a été modifiée le 2 mars 2026 par les contributeur·ice·s du MDN.
Votre modèle pour un internet meilleur.
Visitez la société mère à but non lucratif de Mozilla Corporation, la Fondation Mozilla.
Certaines parties de ce contenu sont protégées par le droit d'auteur ©1998—2026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.