0

オブジェクトを含む配列の配列を作成しようとしていますが、

これが私のコードです、

var objA = new Array();

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

理想的には、上記のコードは「オウム」に警告するはずですが、代わりに「未定義」になります。
私は何が間違っているのですか?

4

3 に答える 3

2

次を使用する必要があります。

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

あなたがそうするとき、あなたは配列にアイテムを追加objA ['1'].push(..)しています-そのアイテムは、などのようなインデックスによって参照されるべきです。objA ['1']objA ['1'][0]objA ['1'][1]

于 2012-12-13T06:20:52.910 に答える
2

属性を新しい配列に設定します。

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

したがって、もちろん、それを取得すると、配列が返されます

var item = objA ['1'];

bird配列には属性がありません。ただし、配列の最初の項目はそうです。

alert(item[0]['bird']);
于 2012-12-13T06:21:14.690 に答える
1

console.log(anything)オブジェクトをよりよく理解するために常に。次の変更が必要でした。

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

http://jsfiddle.net/rpnzG/

于 2012-12-13T06:27:58.207 に答える