迭代器模式
2022/4/10 小于 1 分钟
迭代器(Iterator)模式的定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。迭代器模式是一种对象行为型模式,
其主要优点如下。
- 访问一个聚合对象的内容而无须暴露它的内部表示。
- 遍历任务交由迭代器完成,这简化了聚合类。
- 它支持以不同方式遍历一个聚合,甚至可以自定义迭代器的子类以支持新的遍历。
- 增加新的聚合类和迭代器类都很方便,无须修改原有代码。
- 封装性良好,为遍历不同的聚合结构提供一个统一的接口。
其主要缺点是:
- 增加了类的个数,这在一定程度上增加了系统的复杂性。
# 示例
在不暴露对象内部结构的同时,可以顺序的访问对象内部的,可以帮助我们简化循环,简化数据操作。
function Iterator(item) {
this.item = item;
}
Iterator.prototype.dealEach = function (fn) {
for (var i = 0; i < this.item.length; i++) {
fn(this.item[i], i);
}
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9