迭代器模式
作者: 阿蒙 时间: 2020-2-23 标签: 设计模式 浏览: 1500 评论: 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 } }
本文相关标签: 设计模式笔记
发表评论: