从JSON对象分组并添加值

时间:2015-07-17 13:28:11

标签: jquery ajax json

我遇到了分组问题,然后添加了一些从AJAX查询返回的JSON中获得的值。

数据回传如下:

0: Object 
  count: 12
  grp: 1
  id: "1"
1: Object 
  count: 21
  grp: 2
  id: "3"
2: Object 
  count: 48
  grp: 3
  id: "4"
3: Object 
  count: 51
  grp: 2
  id: "5"

对于grp,有五种可能的选项(组):1,2,3,4,5。我想要做的是将每个特定组的所有count值相加。也就是说,将所有grp 1 count值加在一起,将所有grp 2 count值加在一起,依此类推。

最好的方法是什么?我无法找出each或任何相当有用的东西。

1 个答案:

答案 0 :(得分:3)

var counts = {};
$.each(data, function(index, item){
    var sum = counts[item.grp] || 0;
    counts[item.grp] = sum + item.count;
});

console.log(counts);
# {1: 12, 2: 72, 3: 48}