对于将数组推送到对象后的循环,安慰为未​​定义

时间:2013-07-10 10:22:34

标签: javascript jquery loops

我正在循环一个对象,当我循环对象时,我正在推送一个数组。在我将数组推入对象之后,当我控制台时,我得到一个未定义的结果..这里有什么问题..

mycode的:

 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]});
                }
            }

而不是数组我只是得到了未定义的......这里有什么问题..

1 个答案:

答案 0 :(得分:3)

根据您的代码,mainLink.links是一个数组,而mainLink.links.subLinks确实是undefined

mainLink.links[0].subLinks访问它(用适当的索引替换0)应该会给你预期的结果。

例如:

console.log(mainLink.links[mainLink.links.length-1].subLinks);