迭代器模式
作者: 阿蒙 时间: 2020-2-23 标签: 设计模式 浏览: 2501 评论: 0
1. 内部迭代器模式。迭代器内部已全部实现了迭代逻辑,外部只需要一次初始调用即可。 如forEach
/* 内部迭代器 */
/* each */
let each = function (arr, callback) {
for (let i = 0, len = arr.length; i < len; i++) {
callback.call(arr[i], i, arr[i]);
}
};
each([1,2,3,4], function (i, k) {
console.log(i, k);
});
2. 外部迭代器: 外部迭代器必须显示请求下一元素。
/* 外部迭代器 */
let Iterator = function ( arr ) {
let current = 0;
let next = function () {
current += 1;
};
let isDone = function () {
return current >= arr.length;
};
let getCurrentItem = function () {
return arr[ current ];
};
return {
next: next,
isDone: isDone,
getCurrentItem: getCurrentItem
}
}
本文相关标签: 设计模式笔记
发表评论: