[英]ajax and javascript - function return my null but when i console.dir i see the data
[英]accessing array values returns 'undefined', but I can see the values with console.dir()?
编辑:这是我的代码的完整要点(当然删除了API密钥): https : //gist.github.com/tconroy/e52e0e7402face8f048e
访问存储在JavaScript array[]
objects{}
时遇到一些问题。
当我执行console.dir(containerArray)
,我可以看到数组中存储的2个对象,如下图所示:
但是,当我表演
console.log(containerArray)
,
输出只是空括号[]
。
当我尝试通过console.dir(containerArray[0]);
访问数组索引时console.dir(containerArray[0]);
,输出undefined
。
这是我用来创建对象并将其放入数组的代码:
var key = String(decodeURIComponent(addr)),
obj = {};
obj[key] = json.data.weather;
containerArray.push(obj);
我在这里做错了什么? 我需要能够访问存储在数组中的每个对象,并且不确定在这里做错了什么。
根据json.data
对象判断,我将在黑暗中进行拍摄。
您正在某种AJAX回调中加载containerArray
的数据,但是尝试在所述回调之外访问它。
例:
MyAJAXFunction("url", function(json) {
containerArray.push(json.data.weather);
});
alert(containerArray[0]); // why undefined?
将console.dir
悬停在那个小i图标console.dir
可以看到它与console.dir
一起工作的原因:它具有对该对象的引用 ,该对象在浏览之前已更新。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.