【问题标题】:d3. Calling a csv url from an array javascriptd3。从数组javascript调用csv url
【发布时间】:2017-05-01 22:50:01
【问题描述】:

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

但是,我在数据切换方面遇到了麻烦。数据来自不同的网址。这些网址位于 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 是一种异步方法,但我不确定这是否是问题所在。

任何建议都将不胜感激

【问题讨论】:

    标签: javascript arrays csv url d3.js


    【解决方案1】:

    您的第一个 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
           };)
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-30
      • 2021-08-13
      • 2018-05-01
      • 2012-06-14
      相关资源
      最近更新 更多