zhangdizhangdi

迭代器模式 ⭐

定义

迭代器模式(Iterator Pattern),提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。

实现

js
const each = function (ary, callback) {
  for (var i = 0, l = ary.length; i < l; i++) {
    if (callback(i, ary[i]) === false) {
      break
    }
  }
}
each([1, 2, 3, 4, 5], function (i, n) {
  if (n > 3) {
    return false
  }
  console.log(n)
})
执行结果
1
2
3

应用场景

  • jQuery 的 $.each
  • for of
  • ES6 Iterator
  • ES6 Generator

参考