Iterator 迭代器 2020-06-20

2020-06-20  本文已影响0人  Allan要做活神仙

Iterator 函数返回一个对象,它实现了遗留的迭代协议,并且迭代了一个对象的可枚举属性。

非标准。 **Iterator** 函数是一个 SpiderMonkey 专有特性,并且会在某一时刻被删除。为将来使用的话,请考虑使用 for...of 循环和 迭代协议

function makeIterator(array){
    var nextIndex = 0;
    return {
        next: () => nextIndex < array.length ? {value: array[nextIndex++], done: false}:{done: true}
    };
}

let a = makeIterator(['a', 'p', 'p', 'l', 'e']);
a1.next();
a1.next();
a1.next();

利用Generator函数和for...of循环,实现有限的斐波那契数列数组

function* fibonaqi(){
    let [pre,cur] = [1,1];
    for(;;){
        [pre,cur] = [cur,cur+pre];
        yield cur;
    }
}
let arr=[1,1];
for(let n of fibonaqi()){
    if(n >1000){
        break;
    }
    arr.push(n)
}
console.log(arr)
上一篇下一篇

猜你喜欢

热点阅读