欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用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);    
};

解构赋值确实好用~~