_Underscoreを紹介したばかりなので、これはまったくナンセンスかもしれませんが、ライブラリが実際に私が望むことを実行できるかどうか疑問に思っています。
私は5つのアイテムを含むオブジェクトを持っています:
Name, v2007,v2008,v2009,v2010
オブジェクト全体を調べて、それぞれの個別の値の SUM を取得したいだけですName
(SQL の GroupBy と SUM によく似ています)。
私は次のものを持っています:
var distincts = [];
$.each(tmp, function (key, value) {
$.each(value, function (fieldName, fieldValue) {
if (fieldName == 'Name') {
if ($.inArray(fieldValue, distincts) == -1) {
distincts.push(fieldValue);
}
}
});
});
$.each(distincts, function (a, b) {
var t = _.where(tmp, {Name: b});
var sum = _.reduce(t.v2007, function (memo, num) {
return memo + num;
}, 0)
console.log(sum);
});
v2011
これは常に 0 を返します。実際、フィールドのSUM を取得する方法がわかりません。ただし、v2013
それらをハードコーディングするのは実用的ではありません。
名前のグループに基づいて、_Underscore ライブラリですべてのフィールド (つまり、「v」で始まる) を合計する簡単な方法はありますか?