用ES6的新特性实现斐波那契数列
程序员文章站
2022-07-14 23:37:10
...
斐波那契数列是每一门语言必讲的一个简单又经典的算法题,用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);
};
解构赋值确实好用~~