Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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.js变量尚未定义,但在Firefox控制台中,它可以正常工作_Javascript_D3.js - Fatal编程技术网

Javascript d3.js变量尚未定义,但在Firefox控制台中,它可以正常工作

Javascript d3.js变量尚未定义,但在Firefox控制台中,它可以正常工作,javascript,d3.js,Javascript,D3.js,我试图读入一些csv数据,选择一个特定的列(SST),并创建一个数组,其中每个项都是:{x:row#,y:SST_代表该行} <script src="http://d3js.org/d3.v3.min.js"></script> <script> var dat=[]; d3.csv("stratus2.txt", function(t) { dat = t; }); f=dat.map(function(d,i) { return {x:i,y:d.

我试图读入一些csv数据,选择一个特定的列(SST),并创建一个数组,其中每个项都是:{x:row#,y:SST_代表该行}

<script src="http://d3js.org/d3.v3.min.js"></script>
<script>

var dat=[];
d3.csv("stratus2.txt", function(t) {
dat = t;
});

f=dat.map(function(d,i) { 
return {x:i,y:d.SST} 

</script>
是否存在某种范围界定问题?提前感谢,,
Ben

我认为您在保留地图和退出csv回调时遇到了问题。发生的事情是,您的
csv
代码尚未完成(dat未设置为t),但回调没有阻塞(d3.csv()是异步的),因此您的javascript一直在运行,留下一个空映射

<script src="http://d3js.org/d3.v3.min.js"></script>
<script>

var dat=[];
d3.csv("stratus2.txt", function(t) {
    dat = t;
    f=dat.map(function(d,i) { 
        return {x:i,y:d.SST};
    });
});

</script>

var-dat=[];
d3.csv(“stratus2.txt”,函数(t){
dat=t;
f=dat.map(函数(d,i){
返回{x:i,y:d.SST};
});
});
相反,可以这样尝试,并查看更多信息


这在控制台中起作用的原因是,当您输入这些代码行时,您的回调已经处理,因此
dat
确实有一个赋值。

我认为您在保留地图和退出csv回调时遇到了问题。发生的事情是,您的
csv
代码尚未完成(dat未设置为t),但回调没有阻塞(d3.csv()是异步的),因此您的javascript一直在运行,留下一个空映射

<script src="http://d3js.org/d3.v3.min.js"></script>
<script>

var dat=[];
d3.csv("stratus2.txt", function(t) {
    dat = t;
    f=dat.map(function(d,i) { 
        return {x:i,y:d.SST};
    });
});

</script>

var-dat=[];
d3.csv(“stratus2.txt”,函数(t){
dat=t;
f=dat.map(函数(d,i){
返回{x:i,y:d.SST};
});
});
相反,可以这样尝试,并查看更多信息


这在控制台中起作用的原因是,当您在中输入这些代码行时,您的回调已经处理,因此
dat
确实有一个赋值。

调用
d3.csv
是异步的,这意味着您需要在回调中进行映射/转换。调用
d3.csv
是异步的,这意味着您需要在回调中进行映射/转换。