Skip to content

【前端】迭代器模式

迭代器模式的实现

迭代器模式的场景

有序结构

  • 字符串
  • 数组
  • NodeList等DOM集合
  • Map
  • Set
  • arguments

[Symbol.interator]

通过获取迭代器访问数据

javascript
const map = new Map([['k1', 'k111111'], ['k2', 'k22222']])

const mapInterator = map[Symbol.iterator]()

console.log(mapInterator.next())

类似实现Symbol.iterator

迭代器的作用

for....of

对象数据部署[Symbol.iterator]

迭代器模式的数据可以进行

数组解构 扩展操作符 Array.from() 创建map和set Promise.all和Promise.race yield *

Generator生成器

yield * 后面可以是一个有序结构,也就是部署了[Symbol.iterator]的数据

使用yield重新写[Symbol.iterator]

使用yield遍历DOM树