_Underscoreライブラリに頭を悩ませるのに苦労しているので、基本を理解していると思いますが、問題を引き起こしているのは用語だと思います。
たとえば、次のオブジェクトがあります。
CA3 "BAA"
vol_2007 0.15
vol_2008 0.2
vol_2009 0.25
vol_2010 0.3
vol_2011 0.600
CA3 "LUF"
vol_2007 1.13
vol_2008 0.4
vol_2009 1.6
vol_2010 2.8
vol_2011 0.43
私は次のようにこれに到達しました:
var fieldtogroup = 'CA3';
var groups = _.groupBy(tmp,function (name) { return name[fieldtogroup] });
var sums = _.map(groups, function (group) {
return _.reduce(group, function (a, b) { return b; }, 0);
});
私が持っている最初の問題は、私が使用する場合:
return _.reduce(group, function (a, b) { return a + b; }, 0);
オブジェクトがゴミに戻ったので、_Underscoreのドキュメントで、「a」が現在の値で「b」が新しい値であることが完全に説明されていることがわかりますが、これは機能しません。誰かがこれがなぜであるか説明できますか?計算を行う前に、値が数値であるかどうかを判断するために、関数内に句が必要ですか?
また、最終的には、次のようなオブジェクトの配列を返すことができるようにしたいと思います。
vol_2007: 0.15,1.13
vol_2008: 0.2,0.4
vol_2009: 0.25, 1.6
vol_2010: 0.3, 2.8
vol_2011: 0.600,0.43
オブジェクトを「ちょっと」回転させ、配列を数回調べて値を別の配列にプッシュすることでこれを行うことができましたが、_Underscoreでこれを実行できると確信していますが、方法がわかりません。
誰かが私にこれらについて教えてくれるなら、私は本当に感謝しています。私は図書館の基本を理解しましたが、これは私を困惑させました!
- 編集 *
コマンドで最後の問題を解決しました_.pluck
。これはすばらしいですが、Reduceを使用するとエラーが発生します。
'more'には、vol_2009->vol_2011の値が含まれているだけです。