Skip to content

Latest commit

 

History

History
32 lines (22 loc) · 930 Bytes

fibonacci.md

File metadata and controls

32 lines (22 loc) · 930 Bytes
标题 标签
fibonacci(斐波那契数列) math,algorithm(数学,算法)

生成一个数组,包含斐波那契数列,直到第 n 项。

  • 使用 Array.from() 创建一个特定长度的空数组,初始化前两个值(0 和 1)。
  • 使用 Array.prototype.reduce()Array.prototype.concat() 将值添加到数组中,使用最后两个值的总和,前两个除外。

代码如下:

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]

应用场景

结果如下:

<iframe src="codes/javascript/html/fibonacci.html"></iframe>