質問するログイン新規登録

回答編集履歴

1

回答も追加

2018/05/09 06:37

投稿

miyabi-sun
miyabi-sun

スコア21542

answer CHANGED
@@ -30,4 +30,27 @@
30
30
  ```JavaScript
31
31
  // array.pushの戻り値を確認しておく
32
32
  console.log([0, 1, 1].push(2)); // 4
33
+ ```
34
+
35
+ ---
36
+
37
+ あら、コードが変わっちゃいましたね。
38
+ では配列を返す版の回答を載せておきます。
39
+
40
+ ```JavaScript
41
+ function factorial (n) {
42
+ if (n <= 0) return [];
43
+ if (n === 1) return [0];
44
+ if (n === 2) return [0, 1];
45
+ var ary = factorial(n - 1);
46
+ ary.push(ary[n - 2] + ary[n - 3]);
47
+ return ary;
48
+ }
49
+ console.log(factorial(0)); // []
50
+ console.log(factorial(1)); // [0]
51
+ console.log(factorial(2)); // [0, 1]
52
+ console.log(factorial(3)); // [0, 1, 1]
53
+ console.log(factorial(4)); // [0, 1, 1, 2]
54
+ console.log(factorial(5)); // [0, 1, 1, 2, 3]
55
+ console.log(factorial(6)); // [0, 1, 1, 2, 3, 5]
33
56
  ```