gpt4 book ai didi

javascript - Return不会退出javascript中的递归函数

转载 作者:行者123 更新时间:2023-11-29 10:09:09 24 4
gpt4 key购买 nike

我已经阅读了关于这个问题的十几种变体,但这些答案并没有让我犯下明显的错误。为什么这总是返回 false?为什么即使在 找到它 之后我仍然看到 再次调用?如果我在递归调用前面放一个 return,为什么我永远看不到 found it

function subResult (object, start, target){
console.log('called again')
if (start === target){
console.log('found it')
return true
} else {
for (var i = 0; i < object[start].edges.length; i++){
subResult(object, object[start].edges[i], target)
}
}
return false
}

最佳答案

改变

for (var i = 0; i < object[start].edges.length; i++){
subResult(object, object[start].edges[i], target)
}

for (var i = 0; i < object[start].edges.length; i++){
if (subResult(object, object[start].edges[i], target)) {
return true;
}
}

即什么时候发现你完成了。如果不继续。

关于javascript - Return不会退出javascript中的递归函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36807765/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com