ES5手写一个迭代器(iterator)

//使用@@iterator对象可以创造一个迭代器, let iterator = number[Symbol.iterator]();
// console.log(iterator.next().value);

function createIterator(items){
    var i = 0;
    return {
        next:function(){
            var done = (i>=items.length);
            var value = !done ? items[i++]:undefined;
            return { done: done, value: value };
        }
    }
}

var iterator= createIterator([1,2,3])
console.log(iterator.next()) // "{ value: 1, done: false }"
console.log(iterator.next()) // "{ value: 2, done: false }"
console.log(iterator.next()) // "{ value: 3, done: false }"
console.log(iterator.next()) // "{ value: undefined, done: true }"

//之后重复调用返回一样的结果。
console.log(iterator.next()) // "{ value: undefined, done: true }"
前端问题总结 文章被收录于专栏

总结一些前端常见的面试笔试题,来和大家分享鸭

全部评论

相关推荐

05-14 20:34
门头沟学院 Java
窝补药贝八股:管他们,乱说,反正又不去,直接说680
点赞 评论 收藏
分享
S_Holmes:一想到我苦苦追求的迪子私下里却是985的马子,我的心就在滴血😭😭😭
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-11 11:29
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务