文档章节

迭代器模式

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

暂无文章

20个使用 Java CompletableFuture的例子

https://colobu.com/2018/03/12/20-Examples-of-Using-Java%E2%80%99s-CompletableFuture/

lemos
28分钟前
1
0
Apache 流框架 Flink,Spark Streaming,Storm对比分析

1.Flink架构及特性分析 Flink是个相当早的项目,开始于2008年,但只在最近才得到注意。Flink是原生的流处理系统,提供high level的API。Flink也提供 API来像Spark一样进行批处理,但两者处理...

hblt-j
32分钟前
1
0
什么是公网IP、内网IP和NAT转换?

搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地址)和内网IP(即局域网IP地址),但他们的区别是什么? 1、引言 搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网I...

linuxprobe16
38分钟前
1
0
Spring Cloud搭建微服务架构----流量回放

前言 系统微服务化后,传统的自测/测试方式都变得比较困难: 依赖的服务可能不稳定。 服务无法提供期望的响应数据。 缺少场景构造标准。 随着整体业务越来越复杂,微服务依赖的越来越多,测试...

春哥大魔王的博客
59分钟前
4
0
记一次springboot模块配置问题导致读取Apollo配置中心配置文件始终错误的问题

现在正在做的一个项目采用的是微服务,主框架是spring cloud,配置中心用的是携程的Apollo。 项目下有多个服务,在测试服务器上启动用户服务的时候发现在eureka中心另一个服务被启动了,尝试...

zcqshine
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部