gpt4 book ai didi

javascript - 我可以从递归搜索函数返回两个值吗?

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

陷入了一个奇怪的 JavaScript 函数式编程漏洞。

这里是:

// Given an integer n, can n be reached by some combination of plus five and times three?

function recursiveSearch (n) {
// if attempt matches return success
// if attempt produces neutral keep trying
// if attempt matches less than 1 return failure
if (n === 1) return true
if (n > 1) {
return recursiveSearch( n-5 ), recursiveSearch( n/3 )
}
else return false
}

console.log(1, recursiveSearch(1) )
console.log(3, recursiveSearch(3) )
console.log(6, recursiveSearch(6) )
console.log(7, recursiveSearch(7) )
console.log(9, recursiveSearch(9) )
console.log(13, recursiveSearch(13) )
console.log(51, recursiveSearch(51) )
console.log(247, recursiveSearch(247) )

我显然无法从一个函数返回两个不同的东西,但如果我不返回,我就无法在搜索中分支:

  if (n > 1) {
recursiveSearch( n-5 )
recursiveSearch( n/3 )
}

这只会产生未定义的结果。

最佳答案

好吧,显然答案很明显:)

使用 or 语句。

if (n > 1) {
return recursiveSearch( n-5 ) || recursiveSearch( n/3 )
}

关于javascript - 我可以从递归搜索函数返回两个值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41883110/

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