Sym - 一个用 Java 实现的现代化社区平台 • 源码注册

Pipe - 小而美的开源博客平台 • 体验皮肤
Solo - 一个用 Java 实现的博客系统,为你或你的团队创建个博客吧! • 源码下载
Wide - 一个基于 Web 的 Go 语言 IDE • 教程试用

生成一个包含 n 项的斐波那契数列

2019-01-16

回答

初始化一个长度为 n 的空数组。使用 Array.prototype.reduce() 将计算结果添加到数组中。计算结果为最后两个值相加之和,应注意前两个值除外。

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

返回总目录

每天 30 秒


欢迎注册黑客派社区,开启你的博客之旅。让学习和分享成为一种习惯!

4 评论
lwl • 2019-01-16
回复 删除

可以啊兄弟

Vanessa • 2019-01-16
回复 删除

请叫姐妹 trollface

mainlove • 2019-01-17
回复 删除
function* fibonacci() {
  let [prev, curr] = [0, 1];
  for (;;) {
    yield curr;
    [prev, curr] = [curr, prev + curr];
  }
}

for (let n of fibonacci()) {
  if (n > 1000) break;
  console.log(n);
}

我这个比较好

wizardforcel • 2019-01-17
回复 删除

我记得这玩意儿是有通项公式的。。。