前提・実現したいこと
Javascriptを使ってデータ集計を行っており、reduceやfindを組み合わせた効率的な処理の理解をしたいです。
他サイトを参考にコードをくみ上げたのですが、良く処理を理解できず。
reduceはreturnしたものをどんどん積算していく処理の認識です。
しかし下記コードを動かしたところ、elはreturnしていないのですが、bushoの中にelで計算した結果が入っております。
これはどういう動きをしているのでしょうか。
※以下のサイトを参考にしました。
[https://qiita.com/zaburo/items/fc8f74d144d73b7d70b6]
・応用-GroupBy的な
を参照
該当のソースコード
window.getData = function(data,year){ var busho = data.reduce(function (result, current) { if(current.nendo == year){ var el = result.find(function (p) { return p.futanbusho === current.futanbusho }); if (el) { el.goukei += Number(current.goukei); } else { result.push({ nendo:current.nendo, futanbusho:current.futanbusho, goukei:current.goukei }); } } return result; }, []); return busho; }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/13 11:47 編集
2021/01/13 12:51
2021/01/13 14:00
2021/01/14 00:21
2021/01/14 00:33 編集
2021/01/14 12:12