Javascript中的Array(包含对象)数组

时间:2012-12-13 06:18:14

标签: javascript arrays

我正在尝试创建一个包含对象的数组Array,

这是我的代码,

var objA = new Array();

function myFunction(){
     objA ['1'] = new Array();
     objA ['1'].push({'bird':'parrot','animal':'rabbit'});
     var item = objA ['1'];
     alert(item['bird']);
}

现在理想情况下,代码应警告'parrot',但我得到'未定义' 我做错了什么?

3 个答案:

答案 0 :(得分:2)

您应该使用:

var item = objA ['1'][0];

执行objA ['1'].push(..)后,您项附加到数组objA ['1'] - 其项目应由objA ['1'][0],{{1}等索引引用等等..

答案 1 :(得分:2)

您将属性设置为新数组:

objA ['1'] = new Array();

因此,当然,当您检索它时,您将返回一个数组

var item = objA ['1'];

数组没有bird属性。但是,数组中的第一项确实存在。

alert(item[0]['bird']);

答案 2 :(得分:1)

始终console.log(anything)以便更好地理解对象。 需要进行以下更改。

var item = objA ['1'][0];

http://jsfiddle.net/rpnzG/