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 }"
前端问题总结 文章被收录于专栏

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

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务