D3 / JavaScript加载数据和返回值[重复]

问题描述 投票:-1回答:2

这个问题在这里已有答案:

我似乎不明白为什么我不能返回以下值。我想使用自定义颜色为条形图着色。

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
javascript function csv d3.js return
2个回答
0
投票

我猜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;
};

在循环之前,你必须检查typeofundefined的输入参数'data'。


-1
投票

return不是一个函数,是一个声明。你应该写return farbdat而不是return(farbdat)

© www.soinside.com 2019 - 2024. All rights reserved.