生成斐波纳契数组,直到某一项 fibonacciUntilNum – JavaScript 实用代码片段

生成一个包含斐波那契数序列的数组,直到 num 项。

创建一个特定长度的空数组,初始化前两个值(01)。使用 Array.reduce() 将值添加到数组中,该值是最后两个值的和,前两个值除外。使用数学公式来计算所需数组的长度。

const fibonacciUntilNum = num => {
  let n = Math.ceil(Math.log(num * Math.sqrt(5) + 1 / 2) / Math.log((Math.sqrt(5) + 1) / 2));
  return Array.from({ length: n }).reduce(
    (acc, val, i) => acc.concat(i > 1 ? acc[i - 1] + acc[i - 2] : i),
    []
  );
};
fibonacciUntilNum(10); // [ 0, 1, 1, 2, 3, 5, 8 ]

更多代码 JavaScript 实用代码片段 请查看 https://www.html.cn/30-seconds-of-code/

赞(0) 打赏
未经允许不得转载:WEB前端开发 » 生成斐波纳契数组,直到某一项 fibonacciUntilNum – JavaScript 实用代码片段

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏