2016-03-07 104 views
0

我想添加一个元素到数组中的每个对象(从csv读入)。计算来自同一对象的另外两个元素。将值添加到对象,从2个其他列计算D3js

我现在有单独的对象,并将其添加到数组的末尾,而不是我希望作为每个对象的元素。

这里是我的代码

d3.csv("database.csv", function(error, data) { 

      data = data.filter(function(row) { //filter out inactive data 
      return row['active'] !== "NO"; 
      }); 

      Angleabs = {'Angleabs': data.map(function (d) { //calculate absolute angle for use in a worldmap from longitude and latitude 
      return (Math.sqrt(Math.pow(+d.lon,2) + Math.pow(+d.lat,2))) 
      })}; 

      data.push(Angleabs); 

      console.log(data); 
      }); 

感谢,

罗杰

回答

0

像这样的事情?通过您的数组循环,考虑任何元素d,并添加计算为你想现场d.Angleabs

data.forEach(function(d) { 
     d.Angleabs = Math.sqrt(Math.pow(+d.lon,2) + Math.pow(+d.lat,2)) 
}); 

这不依赖于d3.js。