【发布时间】:2018-04-10 16:09:17
【问题描述】:
我正在观看有关 D3.js 的教程,但我无法理解 d3.csv 函数的工作原理。
d3.csv("data.csv", type, function (myArrayOfObjects){
myArrayOfObjects.forEach(function (d){
console.log(d.x + d.y);
});
});
function type(d){
d.x = parseFloat(d.x);
d.y = parseFloat(d.y);
return d;
}
data.csv 包含此值
x,y
100,100
130,120
80,180
180,80
180,40
该函数工作正常,在控制台上打印正确的值,但我无法理解对 type 函数的调用是如何工作的。 我以为 CSV 文件中的每个元素都调用了一次 type 函数,但是在插入 console.log 语句后,我注意到它只被调用了一次。它如何获取所有数据而不仅仅是第一对元素?
谢谢
编辑: 结果如下:
200
250
260
260
220
对于 csv 中的每个元素,该函数是只调用一次还是只调用一次?
【问题讨论】:
-
你能提供一个minimal reproducible example 来证明这个问题吗?
-
确切的控制台输出是什么?现在的方式,第一个 sn-p 应该打印
200.0, 250.0, 260.0, 260.0, 220.0。 -
@Stefano 我更新了我的答案以反映您对问题的编辑。
-
我想将 console.log 放入 type 函数应该可以回答您的问题。
-
请分享这个测试!每个人都在说我们无法重现这种行为。
标签: javascript d3.js