Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
d3。从javascript数组调用csv url_Javascript_Arrays_Csv_Url_D3.js - Fatal编程技术网

d3。从javascript数组调用csv url

d3。从javascript数组调用csv url,javascript,arrays,csv,url,d3.js,Javascript,Arrays,Csv,Url,D3.js,这方面我是新手。我正在尝试使用jaavascript制作一个简单的交互式图表。其思想是,当我更改选择器中的值时,图表会更改数据所使用的值 然而,我在数据交换方面遇到了麻烦。数据来自不同的URL。这些URL位于CSV文件中。我的代码从CSV文件中提取URL并生成一个数组。然后继续从数组的适当元素调用CSV文件。简化代码: functionThatReturnsArray(){ d3.csv("http//URL.COM", function(){ SomeMoreCode; return Arra

这方面我是新手。我正在尝试使用jaavascript制作一个简单的交互式图表。其思想是,当我更改选择器中的值时,图表会更改数据所使用的值

然而,我在数据交换方面遇到了麻烦。数据来自不同的URL。这些URL位于CSV文件中。我的代码从CSV文件中提取URL并生成一个数组。然后继续从数组的适当元素调用CSV文件。简化代码:

functionThatReturnsArray(){
d3.csv("http//URL.COM", function(){
SomeMoreCode;
return ArrayOfStrings
};)
}

A = functionThatReturnsArray();

MoreCode;

//For example, the first value from A is selected
d3.csv(A[0], function(error, data) {
MoreCode;
})
问题是,这似乎不是d3.csv的有效输入,因为它不起作用。我不知道我是错过了什么,还是不能这样做

我搜索了一下,可能是因为d3.csv是一个异步方法,但我不确定这是否是问题所在


您的第一个
CSV
数据正在异步加载,因此此函数不会返回任何内容,任何建议都将受到重视

functionThatReturnsArray(){
   d3.csv("http//URL.COM", function(){
       SomeMoreCode;
       return ArrayOfStrings
   };)
}
您可以将以下代码放入函数中

function processArray(A){

   MoreCode;

   //For example, the first value from A is selected
   d3.csv(A[0], function(error, data) {
   MoreCode;
  })
}
并在第一个
csv
加载回调中调用此函数

 functionThatReturnsArray(){
       d3.csv("http//URL.COM", function(){
           SomeMoreCode;
           processArray(ArrayOfStrings) //add this
       };)
 }

您的第一个
CSV
数据正在异步加载,因此此函数不会返回任何内容

functionThatReturnsArray(){
   d3.csv("http//URL.COM", function(){
       SomeMoreCode;
       return ArrayOfStrings
   };)
}
您可以将以下代码放入函数中

function processArray(A){

   MoreCode;

   //For example, the first value from A is selected
   d3.csv(A[0], function(error, data) {
   MoreCode;
  })
}
并在第一个
csv
加载回调中调用此函数

 functionThatReturnsArray(){
       d3.csv("http//URL.COM", function(){
           SomeMoreCode;
           processArray(ArrayOfStrings) //add this
       };)
 }