概述
本次文章主要探讨Iterator (遍历器/迭代器)循环
Iterator
Iterator(遍历器)的概念
遍历器(Iterator)就是一种机制。它是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署 Iterator 接口,就可以完成遍历操作。简单理解就是可以一次拿到容器对象中的数据,这样就方便我们进行后续的操作。 (Iterator(遍历器)也称迭代器)
Iterator 的作用
Iterator 的作用有三个:一是为各种数据结构,提供一个统一的、简便的访问接口;二是使得数据结构的成员能够按某种次序排列;三是 ES6 创造了一种新的遍历命令 for...of 循环,Iterator 接口主要供 for...of 消费 。
Iterator 的工作原理
- 创建一个指针对象,指向当前数据结构的起始位置(遍历器对象本质上就是一个指针对象)。
- 第一次调用对象的 next 方法,指针自动指向数据结构的第一个成员。
- 接下来不断调用 next 方法,指针一直往后移动,直到指向最后一个成员。
- 每调用 next 方法返回一个包含 value 和 done 属性的对象 ,其中value属性是当前成员的值,done属性是一个布尔值,表示遍历是否结束。
案例:
//声明一个数组
const xiyou = ['唐僧', '孙悟空', '猪八戒', '沙僧']
//使用 for...of 遍历数组
for(let v of xiyo