繁体   English   中英

访问数组值返回“未定义”,但是我可以用console.dir()看到值吗?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM