> 来源:面试题 > 难度:★★ **封装一个函数,接收1个整数参数 `n`,返回 [斐波那契数列](https://baike.baidu.com/item/%E6%96%90%E6%B3%A2%E9%82%A3%E5%A5%91%E6%95%B0%E5%88%97/99145?fr=aladdin) 前 n 项** ```js /** * @param {number} n - 整数 */ function fibonacci(n) { // 你的代码 } ``` ---- **参考答案:** ```js function fibonacci(n) { var a = 0; var b = 1; var c = a + b; var arr = [c]; for (var i = arr.length; i < n; i++) { arr.push(c); a = b; b = c; c = a + b; } return arr; } // 再来个使用递归+ES6实现的(原创) function fibonacci(n) { let fn = i => i < 3 ? 1 : fn(i - 1) + fn(i - 2); return [...Array(n).keys()].map(it => fn(it + 1)); } ``` ---- **本期优秀回答者:** @AMY-Y
Activity
liwenkang commentedon May 15, 2019
AMY-Y commentedon May 15, 2019
ahao430 commentedon May 16, 2019