迭代器模式
迭代器模式
林落雨 发表于9个月前
迭代器模式
  • 发表于 9个月前
  • 阅读 1
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

摘要: js实现设计模式
// 返回每隔一个的数组元素
var agg = (function(){
	var index = 0,
		data = [1,2,3,4,5],
		length = data.length;

		return {
			next : function(){
				var element;
				if(!this.hasNext()){
					return null;
				}

				element = data[index];
				index = index + 2;
				return element;
			},

			hasNext : function(){
				return index < length;
			},

			rewind : function(){
				index = 0;
			},
			current : function(){
				return data[index]
			}
		}
}())

 

测试

while(agg.hasNext()){
	console.log(agg.next())
}

// 回到初始
agg.rewind();

// 输出当前状态
console.log(agg.current())

 

共有 人打赏支持
粉丝 0
博文 13
码字总数 2308
×
林落雨
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: