我试图返回JSON对象 struct 中的一个特定 node ,如下所示
{
"id":"0",
"children":[
{
"id":"1",
"children":[...]
},
{
"id":"2",
"children":[...]
}
]
}
所以这是一种树状的亲子关系.每node个都有一个唯一的ID. 我想找一个像这样的node
function findNode(id, currentNode) {
if (id == currentNode.id) {
return currentNode;
} else {
currentNode.children.forEach(function (currentChild) {
findNode(id, currentChild);
});
}
}
例如,我以findNode("10", rootNode)
为单位执行搜索.但是,即使搜索找到匹配项,函数也总是返回undefined
.我有一种不好的预感,即递归函数在找到匹配项后不会停止,并继续运行最终返回undefined
,因为在后面的递归执行中它没有到达返回点,但是我不确定如何修复这个问题.
请帮帮我!