[英]Sum of values from array of objects
我有一個具有以下結構的javascript matrix
數組(第一個索引是x
,第二個索引是y
,所以每個x
項都有4個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}
我需要做的是獲取一個數組,該數組存儲每個y
值的z
值。 因此,對於x
所有值,我需要由y
排列的z
的總值。 我正在尋找的結構(假設4 y
值)
0 4
1 10
2 1
3 9
我嘗試了這個:
count = [];
$.each(matrix, function(i, j) {
$.each(j, function(k, v) {
count[k] += v["z"];
})
});
但是,這僅返回具有NaN
值的數組。 有誰有更好的建議?
您需要初始化計數數組
var count=[ 0, 0, 0, 0];
$.each(matrix, function(i, j) {
$.each(j, function(k, v) {
count[k] += parseInt(v["z"],10);
})
});
您的count數組未初始化,並且您嘗試使用undefined
進行數學運算,因此結果為NaN
。 用零初始化count
數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.