-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].subLinks0用适当的索引替换)应该会给你预期的结果。

例如:

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