私は再帰の理解を深めようとしており、一般的な 'Fizzbuzz'問題を使って数値を持つ配列を作成しようとしています。私は1つの入力だけで純粋な再帰関数を実装することでこれを実行しようとしていますが、私の答えを正しい順序で表示することができません。私はまた、この状況で連結の代わりにプッシュを使用する純粋な再帰的関数を書く方法があるかどうかを知りたいと思っていました。どんな助けもありがとう!私は、希望の出力を印刷することができますが、逆の順序でそれをやっています。以下は私が今までに持っているものです: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する必要があります! –