簡體   English   中英

對象數組的值總和

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM