我正在尝试使用d3从tsv文件中获取字符串数组。我的目标是定义一个全局变量,它等于我的tsv fie中label
列中包含的所有字符串。
当我尝试以下方法时 - 我在页面上看到NaN
。使用d3,如何获取tsv列中包含的所有字符串并将其定义为数组?例如
labels = ["label1", "label2", label2",...]
d3.tsv("newdata.tsv", function(error, data)
{
var labels=0;
data.forEach(function(d)
{
d.label = +d.label;
labels = labels + d.label;
})
document.write(labels);
});
答案 0 :(得分:0)
您没有正确创建阵列。您应该将其声明为var labels = []
您没有正确地将值添加到数组中。您应该使用.push
+
运算符,因为您只处理字符串。 +
运算符将值强制转换为数字。 以下工作代码:
d3.tsv("https://gist.githubusercontent.com/mbostock/3305937/raw/a5be7c5fd55c4fa0ca8a400cb68d658a40989966/data.tsv", function(error, data) {
var labels = [];
data.forEach(function(d) {
d.x = d.x;
labels.push(d.x);
})
console.log(labels);
});
JSFiddle - https://jsfiddle.net/cpdafLpf/