来自对象数组的值的总和

时间:2014-09-15 11:05:14

标签: javascript jquery arrays

我有一个javascript matrix数组,其结构如下(第一个索引是x,第二个索引是y,所以每个x项都有4个{{ 1}}项目):

y

我需要做的是获取一个存储每个0 0 { x: 0, y: 0, z: 0} 1 { x: 0, y: 1, z: 5} 2 { x: 0, y: 2, z: 0} 3 { x: 0, y: 3, z: 1} 1 0 { x: 1, y: 0, z: 4} 1 { x: 1, y: 1, z: 5} 2 { x: 1, y: 2, z: 1} 3 { x: 1, y: 3, z: 8} z值的数组。因此,对于y的所有值,我需要x排列的z的总值。我正在寻找的结构(假设4 y值)

y

我试过了:

0 4
1 10
2 1
3 9

但是这只返回一个count = []; $.each(matrix, function(i, j) { $.each(j, function(k, v) { count[k] += v["z"]; }) }); 值的数组。有没有人有更好的建议?

2 个答案:

答案 0 :(得分:1)

您需要初始化计数数组

var count=[ 0, 0, 0, 0];
$.each(matrix, function(i, j) {
  $.each(j, function(k, v) {
    count[k] += parseInt(v["z"],10);
  })          
});

答案 1 :(得分:0)

您的计数数组未初始化,并且您正尝试使用undefined进行数学计算,因此您的结果为NaN。用零初始化count数组。