文档章节

迭代器模式

林落雨
 林落雨
发布于 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
杭州

暂无文章

Bash重定向详解

Bash重定向详解 Bash的重定向指的是将命令的输入和输出导向不同地方,而不是默认的标准输入、标准输出和标准错误。Bash的重定向实际上是对标准输入、标准输出和标准错误的重置,进而将所需输...

小陶小陶
今天
3
0
EventBus原理深度解析

一、问题描述 在工作中,经常会遇见使用异步的方式来发送事件,或者触发另外一个动作:经常用到的框架是MQ(分布式方式通知)。如果是同一个jvm里面通知的话,就可以使用EventBus。由于Event...

yangjianzhou
今天
6
0
OpenCV图像处理实例:libuv+cvui显示摄像头视频

#include <iostream>#include <opencv2/opencv.hpp>#define CVUI_IMPLEMENTATION#include <cvui.h>extern "C"{#include <uv.h>}using namespace std;#define WINDOW_NAM......

IOTService
今天
3
0
openJDK之JDK9的String

1.openJDK8的String 先来看下openJDK8的String的底层,如下图1.1所示: 图1.1 底层上使用的是char[],即char数组 每个char占16个bit,Character.SIZE的值是16。 2.openJDK9中的String 图2.1...

克虏伯
今天
4
0
UEFI 模式下如何安装 Ubuntu 16.04

作者:知乎用户 链接:https://www.zhihu.com/question/52092661/answer/259583475 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 针对UEFI模式下安装U...

寻知者
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部