在閱讀本書時雄辯地介紹了Javascript和我碰到這個遞歸函數時我無法理解我的頭。該函數需要一系列的參數和返回的如何,這個數字可以通過添加5或數由1下面的代碼乘以達到字符串的解決方案:遞歸困難
function findSolution(target) {
function find(start, history) {
if (start == target)
return history;
else if (start > target)
return null;
else
return find(start + 5, "(" + history + " + 5) ") ||
find(start * 3, "(" + history + " * 3) ");
}
return find(1, "1");
}
console.log(findSolution(24));
// ! (((1 * 3) + 5) * 3)
我特別不明白的部分在else語句中,它可以使用||返回不同的函數運營商。提前致謝!
它返回不同功能的*結果*。如果第一個find返回null,它將嘗試第二個find並返回它。 – Will