迭代器模式讲解

2020-10-23  本文已影响0人  拾钱运

迭代器模式是一种相对简单的模式,目前的绝大部分语言都内置了迭代器

迭代器模式是指提供一种方法顺序访问一个聚合对象中的各个元素,而不需要暴露该对象的内部表示。

例子:

内部迭代器

for in
for of
$.each

外部迭代器

外部迭代器必须显式地请求下一个元素,外部迭代器增加了一些调用的复杂度,但相对也增强了迭代器的灵活性,我们可以手工控制迭代的过程和顺序

var Iterator = function( obj ){
    //初始化索引
    var current = 0;
    //下一个
    var next = function(){
        current += 1;
    };
    //如果当前的索引大于或者等于参数的个数,则已经是最后一个
    var isDone = function(){
        return current >= obj.length;
    };
    //获取当前迭代对象
    var getCurrItem = function(){
        return obj[ current ];
    };
    //返回
    return {
        next: next,
        isDone: isDone,
        getCurrItem: getCurrItem
    }
};

调用方式相对复杂,但他的适用面更广,也能满足更多变得需求。

上一篇下一篇

猜你喜欢

热点阅读