I want a recursive function that returns the powers of a number and stores each of them in an array called *stack*.
換句話說,每次執行遞歸時,都會將新值添加到堆棧中。在javascript中創建數組的遞歸,來自codeacademy
例如,如果我們調用power(3, 3)
,我們的堆棧應該以元素[3, 9, 27]
結束。
但是,此代碼的結果是27而不是數組。我的錯誤是什麼?
// Create an empty array called "stack"
var stack = [];
// Here is our recursive function
function power(base, exponent) {
// Base case
if (exponent === 0) {
return 1;
}
// Recursive case
else {
stack[exponent - 1] = base * power(base, exponent - 1);
return stack[exponent - 1];
}
}
power(3,3);
請編輯您的代碼中使用適當的indenta灰。閱讀非常困難。 –
我很感謝大家的時間和解決方案,但我投了我能理解的東西。其他代碼,因爲我是初學者,所以需要時間研究。謝謝!此外,自從我學習遞歸之後,它必須是遞歸,但仍然無法理解如何以及何時使用它,儘管我多次閱讀了雄辯的javascript。 –
我的意思是雄辯的JavaScript遞歸部分 –