从数组中获取未定义的值

0 javascript

谈话很便宜; 我宁愿展示代码:

//global var
var siblings = [];

var rand = new Date().getTime();
siblings.push('uin_' + rand);
alert(siblings['uin_' + rand]); // undefined
Run Code Online (Sandbox Code Playgroud)

为什么未定义?我基本上想要实现的是拥有一个全局对象,该对象将成为存储其中保存有关其他对象的信息的存储.但回到我的问题.我推了价值然后我想提醒它但是未定义...为什么未定义?

med*_*iev 6

.push将它追加到数组中,siblings[0]包含它,因为它是(以前)空数组中的第一个元素.

如果您想自己确定密钥,请执行

siblings = {};
siblings['key'] = 'something';
Run Code Online (Sandbox Code Playgroud)

否则,如果要访问每个元素,则循环遍历数组

for ( var l = siblings.length, i = 0; i<l; ++i ) {
   alert( siblings[i] )
}
Run Code Online (Sandbox Code Playgroud)

注意:数组是对象,所以我可以siblings['key'] = 'something';在数组上设置,但这不是首选.