0
У меня есть следующая рекурсивная функция, но она не работает ... Он выполняет поиск так же далеко, как и 'firstPageChild', а затем заканчивается. Можно ли определить, что здесь не так? .. Я уверен, что его что-то простое, но его топала меня на данный момент ..Рекурсивная функция javascript не работает полностью
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);
спасибо ... оцените помощь – blu10