30秒学会 JavaScript 片段 · 2019年1月4日

30秒学会 JavaScript 片段 – fibonacci

Generates an array, containing the Fibonacci sequence, up until the nth term.

Create an empty array of the specific length, initializing the first two values (0 and 1).
Use Array.prototype.reduce() to add values into the array, using the sum of the last two values, except for the first two.

代码片段

const fibonacci = n =>
  Array.from({ length: n }).reduce(
    (acc, val, i) => acc.concat(i > 1 ? acc[i - 1] + acc[i - 2] : i),
    []
  );

使用样例

fibonacci(6); // [0, 1, 1, 2, 3, 5]