有人可以直觀地解釋這裏發生了什麼。另一個遞歸JavaScript函數
var stack = [];
function countDown(int) {
stack.push(int);
if (int === 1) {
return 1;
}
return countDown(int - 1);
}
function multiplyEach() {
// Remove the last value of the stack
// and assign it to the variable int
int = stack.pop();
x = stack.length;
// Base case
if (x === 0) {
return int;
}
// Recursive case
else {
stack[x - 1] = int * stack[x - 1];
return multiplyEach();
}
}
//調用函數
countDown(7);
//然後打印出來()
console.log(multiplyEach());
我有幾分明白,就是它的堆疊建立並乘以multiplyEach返回的值一切都在一起,但我無法想象它。
然後:
Stack[x-1] is getting me
這個問題看起來不完整。你做完了嗎? – kojiro 2012-04-03 12:40:16
良好的格式是開始理解代碼的好方法 – 2012-04-03 12:41:00
我在試圖瞭解的手機上。格式不完美。這就是我的全部答案。問題已完成 – Sam 2012-04-03 12:48:48