【发布时间】:2015-10-27 19:28:11
【问题描述】:
如下面的代码所示,我正在尝试读取一个 Json 文件并将 json 文件中的一些值推送到一个数组中,如果在函数内访问该数组,则该值被正确存储
但是当回调函数结束时,数组为空 为什么数组不包含推送的值?
var latArray = new Array();
var longArray = new Array();
var getLatLong = d3.json("./SRC/ratp_2013.json", function (error, data){
for(i in data.stops)
{
longArray.push(data.stops[i].longitude);
latArray.push(data.stops[i].latitude);
}
console.log(longArray); //Prints the Array of latitudes
console.log(latArray); //Prints the Array of longitudes
});
console.log(longArray); //Prints an empty array.
console.log(latArray); //Prints an empty array.
【问题讨论】:
-
数组不包含值,因为您正在打印那些外部回调
-
在执行 json 回调之前打印您的控制台值。如果您设置超时,那么您可以看到数组将包含值。
-
谢谢Bhagya,我明白了,非常感谢
标签: javascript arrays json d3.js