这个问题在这里已有答案:
我似乎不明白为什么我不能返回以下值。我想使用自定义颜色为条形图着色。
function farbe() {
d3.csv("./Barchart_Farben.csv", function(data) {
farbdat = new Array;
for (var i = 0; i < data.length; i++) {
farbdat.push(data[i].Farbe);
}
console.log(farbdat);
return(farbdat);
});
};
console.log(farbe());
输出:
未定义
数组(5)[“黄色”,“紫色”,“橙色”,“红色”,“浅黄色”]
什么都没有回来。为什么?
// ./Barchart.csv:
// Farbe
// yellow
// violet
// orange
// red
// lightyellow
我猜d3.csv
函数不会返回任何内容。试试这个。
function farbe() {
var returnData = [];
d3.csv("./Barchart_Farben.csv", function(data) {
farbdat = new Array;
for (var i = 0; i < data.length; i++) {
farbdat.push(data[i].Farbe);
}
console.log(farbdat);
returnData = farbdat;
});
return returnData;
};
在循环之前,你必须检查typeof
和undefined
的输入参数'data'。
return
不是一个函数,是一个声明。你应该写return farbdat
而不是return(farbdat)
。