我想要更好地理解遞歸,並試圖使用常見的'Fizzbuzz'問題創建一個包含數字的數組。我試圖通過僅使用一個輸入實現一個純遞歸函數來實現這一點,但我無法讓我的答案以正確的順序出現。我也很想知道是否有一種方法來編寫一個純粹的遞歸函數,在這種情況下使用push而不是concat。任何幫助表示讚賞!我能夠打印出所需的輸出,但是以相反的順序進行。以下是我到目前爲止:Javascript - 使用純遞歸函數創建一個帶有FizzBuzz結果的數組
var fizzBuzz = function(n) {
//create results array
//create base case for when n === 1
//recurse and push value to array
var results = [];
if (n === 1) {
return '1';
} else {
if (n % 3 === 0 && n % 5 === 0) {
results.push('FizzBuzz');
} else if (n % 5 === 0) {
results.push('Buzz');
} else if (n % 3 === 0) {
results.push('Fizz');
} else {
results.push(''+ n);
}
return results.concat(fizzBuzz(n - 1));
}
};
你必須reverese在年底陣! –