我正在循环一个对象,当我循环对象时,我正在推送一个数组。在我将数组推入对象之后,当我控制台时,我得到一个未定义的结果..这里有什么问题..
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]});
}
}
而不是数组我只是得到了未定义的......这里有什么问题..
答案 0 :(得分:3)
根据您的代码,mainLink.links
是一个数组,而mainLink.links.subLinks
确实是undefined
。
以mainLink.links[0].subLinks
访问它(用适当的索引替换0
)应该会给你预期的结果。
例如:
console.log(mainLink.links[mainLink.links.length-1].subLinks);