Comment underscorejs reduce
travail ?
Il est simple d'obtenir _.reduce([1, 2, 3], function(memo, num){ return memo + num; }, 0);
(le résultat est 6
).
Mais comment fonctionnent les autres paramètres facultatifs ? Dans la documentation, il est dit :
Memo est l'état initial de la réduction, et chaque étape successive de celle-ci doit être retournée par l'itérateur. On passe quatre arguments à l'itérateur : le mémo, puis la valeur et l'index (ou clé) de l'itération, et enfin une référence à la liste entière."
Mais je ne comprends pas. J'ai essayé d'utiliser reduce
pour le problème suivant, et je n'ai pas réussi à le résoudre :
var input = [{"score": 2, "name": "Jon", "venue": "A"}, {"score": 3, "name": "Jeff", "venue":"A"}, {"score": 4, "name": "Jon", "venue":"B"}, {"score": 4, "name": "Jeff", "venue":"B"}];
var output = [{"score": 6, "name":"Jon", "venue": ["A", "B"]}, {"score": 7, "name":"Jeff", "venue": ["A", "B"]}];
Comment puis-je obtenir la sortie en utilisant _reduce
pour la saisie ? Et il sera vraiment utile de savoir comment cela fonctionne à l'intérieur de réduire.