Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.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
Javascript d3:在本地导入JSON,同时将数据与SVG创建分开_Javascript_Json_D3.js - Fatal编程技术网

Javascript d3:在本地导入JSON,同时将数据与SVG创建分开

Javascript d3:在本地导入JSON,同时将数据与SVG创建分开,javascript,json,d3.js,Javascript,Json,D3.js,在希望将我的数据与我的视觉分开的过程中,我想打破下面的d3标准 d3.json("data/2014/adopted.json", function (d) { // make an interesting visualization and put all of my code here }); 相反,我希望将数据带到脚本中,以便与之交互 myData = d3.json("data/2014/adopted.json", function (d) { console.log(

在希望将我的数据与我的视觉分开的过程中,我想打破下面的d3标准

d3.json("data/2014/adopted.json", function (d) {
   // make an interesting visualization and put all of my code here
});
相反,我希望将数据带到脚本中,以便与之交互

myData = d3.json("data/2014/adopted.json", function (d) {
    console.log(d);
    return d;
});
我的目标是让我的代码能够与之交互。log()可以工作,但当我尝试返回d时,它是未定义的

myData[0] //Uncaught TypeError: Cannot read property '0' of undefined

我希望处理数据,比如将其作为变量包含在脚本中。我可以用我当前的代码来实现这一点,但我希望能够超越这一点。如何将myData转换为对象

d3.json API调用不会像您期望的那样返回值。我找不到文档来指定d3.json方法的返回是什么。从您的示例来看,它似乎总是返回未定义的值

你可以这样做:

var jsondata;
d3.json(dataPath, function(dataFromServer) {
  jsondata = dataFromServer;
}

谢谢你的评论。我错过了那个非常简单的解决方案。我试过了,它完全符合我的需要。谢谢你,黄!如果这不会记录
undefined
,我会感到惊讶,因为您正在回调中设置变量,这发生在log语句之后。@mgold感谢您指出这一点,日志语句已被删除。