美文网首页
Iterator 迭代器 2020-06-20

Iterator 迭代器 2020-06-20

作者: Allan要做活神仙 | 来源:发表于2020-06-20 17:58 被阅读0次

    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)
    

    相关文章

      网友评论

          本文标题:Iterator 迭代器 2020-06-20

          本文链接:https://www.haomeiwen.com/subject/mxwwxktx.html