循环的D3.csv访问器函数

时间:2014-08-06 11:01:39

标签: javascript csv for-loop d3.js accessor

我有一个包含很多行的csv,我想在可视化之前操纵访问器函数中的数据。在我到目前为止看到的每个例子中,这个函数返回类似的东西:

return {
    key1: value1,
    key2: value2,
    key3: value3
    ...
  };

我想使用for循环来避免像这样手动编写每个键值对(我知道它无效但代表了这个想法)

d3.csv("data/vitoAgeScrpdNew3x.csv", function(d) {
  return {
    for (var i=0;i<d3.keys(d).length; i++){
    d3.keys(d)[i]: +d3.values(d)[i]
    }
  };
}

如何正确地做到这一点?谢谢!


更新:

试图......只返回一个属性

for(var prop in d) {
return {
  prop: d[prop]
    }
 };

1 个答案:

答案 0 :(得分:3)

您需要预先创建并填充要返回的对象的值,即:

d3.csv("data/vitoAgeScrpdNew3x.csv", function(d) {
  myObj = {};
  for (var i=0;i<d3.keys(d).length; i++) {
    myObj[ d3.keys(d)[i] ] = +d3.values(d)[i];
  }
  return myObj;

}