斐波那契数列是每一门语言必讲的一个简单又经典的算法题,用ES6的新特性来实现,简单、清晰
数列从第3项开始,每一项都等于前两项之和,比如: 1、1、2、3、5、8、13、21、34
直接撸代码:
方案1,解构赋值的方式:
function fib1(num){
let rst = [];
let [pre, current] = [0,1];
if(num>=3){
for(let i=0; i<num; i++){
rst.push(current);
[pre, current] = [current,pre+current];
}
}
return rst;
}
let rst22 = fib1(10);
console.log(rst22.join(", "));
方案2,用生成函数+解构赋值:
function* fib2(num){
let [pre, current] = [0, 1];
for(let i=0;i<num;i++){
yield current;
[pre, current] = [current, pre+current];
}
}
let myFib = fib2(10);
for(let fib of myFib){
console.log(fib);
};
解构赋值确实好用~~

本文介绍使用ES6的新特性实现斐波那契数列的两种方法:解构赋值和生成函数。通过具体代码展示了如何利用这些特性简化算法实现。
707

被折叠的 条评论
为什么被折叠?



