-4

オブジェクトをループしています。オブジェクトをループすると、配列がプッシュされます。配列をオブジェクトにプッシュした後、コンソールを実行すると、結果が未定義として返されます..ここで何が問題なのですか..

マイコード:

 var mainLink = {"links":[]};

     for(key in obj){
                if(obj[key].hasOwnProperty("value")){
                    mainLink.links.push({"label" : key,"link" : obj[key]["MainLink"], "subLinks": [] });
                    console.log(mainLink.links.subLinks); // why i am getting undefined instead array?
                }else{
                    mainLink.links.push({"label" : key,"link" : obj[key]});
                }
            }

配列の代わりに、未定義として取得しています...ここで何が問題なのですか..

4

1 に答える 1

3

あなたのコードによれば、mainLink.linksは配列であり、mainLink.links.subLinks実際にはundefined.

mainLink.links[0].subLinks(適切なインデックスに置き換えて)としてアクセスすると0、期待される結果が得られます。

例えば:

console.log(mainLink.links[mainLink.links.length-1].subLinks);
于 2013-07-10T10:26:15.463 に答える