文档章节

迭代器模式

林落雨
 林落雨
发布于 2017/04/25 18:09
字数 83
阅读 2
收藏 0
// 返回每隔一个的数组元素
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
作品 0
杭州
私信 提问

暂无文章

pyhanlp 停用词与用户自定义词典功能详解

hanlp的词典模式 之前我们看了hanlp的词性标注,现在我们就要使用自定义词典与停用词功能了,首先关于HanLP的词性标注方式具体请看HanLP词性标注集。 其核心词典形式如下: 自定义词典 自定义...

左手的倒影
10分钟前
0
0
颜色模型和颜色应用---CMY和CMYK颜色模型

CMY参数 CMY颜色空间和RGB颜色空间之间的转换

中国龙-扬科
18分钟前
0
0
Golang通道的无阻塞读写的方法示例

无论是无缓冲通道,还是有缓冲通道,都存在阻塞的情况,但其实有些情况,我们并不想读数据或者写数据阻塞在那里,有1个唯一的解决办法,那就是使用select结构。 这篇文章会介绍,哪些情况会存...

kaixin_code
19分钟前
0
0
Web登录中的信心安全问题

1. 一个简单的HTML例子看看用户信息安全 标准的HTML语法中,支持在form表单中使用<input></input>标签来创建一个HTTP提交的属性,现代的WEB登录中,常见的是下面这样的表单: <form action ...

开元中国2015
24分钟前
0
0
Hbulider打包iOS遇到的一些坑

video 全屏播放问题 在 manifest.json 的代码视图中,plus 值需加入 "allowsInlineMediaPlayback": true,如下,允许ios不进行全屏播放 "plus": { "allowsInlineMediaPlayback": true} ...

林梓阳
24分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部