我有一个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"];
})
});
值的数组。有没有人有更好的建议?
答案 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
数组。