0
陷入了一個奇怪的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)
}
這只是產生未定義。
可能重複[在JavaScript中返回多個值?](http://stackoverflow.com/questions/2917175/return-multiple-values-in-javascript) – dorukayhan