介绍 迭代器
模式(迭代器):提供一种
方法,在不
显示对象的内部表示的
情况下,按
顺序排列聚合对象中的元素。
迭代器的几个特征是:
1。访问聚合对象的内容而不公开其内部表示。
2。为遍历不同的集合结构提供统一的接口,使同一算法能够在不同的集合结构上
运行。
三.穿越和改变迭代器集合结构可能造成的问题(例如,C # foreach是不允许
修改的项目)。
文本 在一般的迭代,我们至少有2个方法,hasNext()和下(),这样我们可以做的所有对象的遍历,我们先举个例子:
复制代码代码如下所示:
VaR的=((){()
函数 var指数= 0,
数据= { 1, 2, 3,4, 5 },
长度= data.length;
返回{
下一步:函数(){
无功元件;
如果(!This.hasNext()){
返回null;
}
元素=数据{索引};
索引= 2;
返回的元素;
},
HasNext:函数(){
返回索引<长度;
},
函数(){
索引= 0;
},
电流:函数(){
返回数据{索引};
}
};
}();
使用的方法是以通常的方式在C #相同:
复制代码代码如下所示:
结果:1、3、5 /迭代
而(agg.hasnext()){
console.log(agg.next());
}
当然,还可以通过添加其他方法重置数据,然后继续其他
操作。
复制代码代码如下所示:
重置
Agg.rewind();
Console.log((AGG。电流)); / / 1
jQuery的应用实例
jQuery中一个非常有名的迭代器是每个方法。通过每个函数,我们可以导入附加函数,然后迭代所有项项,例如:
复制代码代码如下所示:
美元。每个({ 'dudu ','dudu ','酸奶的小妹妹,毫米},函数(指数值){
console.log(指数+ ':' +价值);
});
或
$(李的)。每个(函数(指数){
console.log(指数+:+ $(this)。文本()));
});
总结
迭代器的使用场景是集合内的结果常常是不同的。我们不想公开它的内部结构,但是让客户机代码透明地访问底部的元素。在这种情况下,我们可以使用迭代器模式。