underscorejs はどのように機能しますreduce
か?
取得するのは簡単です
_.reduce([1, 2, 3], function(memo, num){ return memo + num; }, 0);
(結果は です6
)。
しかし、他のオプションのパラメーターはどのように機能するのでしょうか? ドキュメントには次のように書かれています。
Memo はリダクションの初期状態であり、その連続する各ステップは iterator によって返される必要があります。反復子には 4 つの引数が渡されます: メモ、反復の値とインデックス (またはキー)、最後にリスト全体への参照です。"
しかし、私は理解していません。次の問題に使用しようとしreduce
ましたが、わかりませんでした。
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"]}];
入力に使用して出力として取得するにはどうすればよい_reduce
ですか? そして、reduce 内でどのように機能するかは本当に役に立ちます。