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]