[英]javascript recursive function not working fully
我具有以下遞歸函數,但是它不起作用...它向下搜索到“ firstPageChild”,然后完成。 任何人都可以發現這里出了什么問題嗎?..我確定這很簡單,但此刻讓我很沮喪。
var pageMap = [{"pageID" : "mainPage",
"children": [{"pageID" : "firstPage",
"children": [{"pageID" : "firstPageChild",
"children": []
}]
},
{"pageID" : "secondPage",
"children": [{"pageID" : "secondPageChild1",
"children": []
}, {"pageID" : "secondPageChild2",
"children": []
}]
},
{"pageID" : "thirdPage",
"children": [{"pageID" : "thirdPageChild1",
"children": []
}, {"pageID" : "thirdPageChild2",
"children": []
}]
}]
}];
function findObjectById(root, id) {
debugger;
var k, pageVar;
if (root.children) {
for (k in root.children) {
pageVar = root.children[k];
if (pageVar.pageID == id) {
return pageVar;
}
else if (pageVar.children.length) {
return findObjectById(pageVar, id);
}
}
}
};
for (var i = 0, len = pageMap.length; i < len; i++) {
var myObj = findObjectById(pageMap[i], "secondPageChild2");
}
console.log(myObj);
替換return findObjectById(pageVar, id);
在
pageSrch = findObjectById(pageVar, id);
if(pageSrch){
return pageSrch;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.