Underscore.JS - Méthode ReduceRight

Syntaxe

_.reduceRight(list, iteratee, [memo], [context])

reductionRight est la variante associative à droite de la méthode reduction pour réduire toutes les valeurs à une seule valeur. Il itère sur une liste d'éléments donnée, appelle la fonction iteratee qui est liée à l'objet de contexte, si elle est passée. Iteratee est appelé avec trois paramètres: (mémo, élément, index, liste). Dans le cas d'un objet JavaScript, l'objet d'iteratee sera (mémo, valeur, clé, liste). Renvoie la liste à des fins de chaînage.

Memo est le premier état de la réduction, et chaque étape successive de celle-ci doit être renvoyée par iteratee. Si aucun mémo n'est passé à l'invocation initiale de reduction, alors le premier élément est à la place passé en tant que mémo lors de l'invocation iteratee sur l'élément suivant de la liste.

Exemple

var _ = require('underscore');

var list = [[0], [1], [2], [3]]
//Example using reduce. prepare a single list of elements
var result = _.reduce(list, function(memo, element) { return memo.concat(element) }, []);
console.log(result);

//Example using reduceRight. prepare a single list of elements
result = _.reduceRight(list, function(memo, element) { return memo.concat(element) }, []);
console.log(result);

Enregistrez le programme ci-dessus dans tester.js. Exécutez la commande suivante pour exécuter ce programme.

Commander

\>node tester.js

Production

[ 0, 1, 2, 3 ]
[ 3, 2, 1, 0 ]