只是剛剛介紹給_Underscore,所以這可能完全是無稽之談,但我想知道庫是否確實可以做我想做的。使用下劃線的Javascript對象中的差異總和
我有一個包含5個項目的對象:
Name, v2007,v2008,v2009,v2010
我只是想通過整個對象和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);
});
這是返回0的時候,其實我不知道如何檢索領域v2011
的總和,v2013
比其他硬編碼它們在其中根本不實用!
有人可以幫助我一點,有沒有一種簡單的方法讓_Underscore庫SUM基於名稱組的所有字段(即,以'v'開頭)?
你能告訴我們一個'tmp'對象(JSON格式)嗎?順便說一句,你不應該混合Underscore和jQuery的'each'功能 – Bergi