Iterator 遍历器
一种接口,为不同的数据结构提供统一的访问机制,任何数据接口只要部署Interator接口,就可以完成遍历操作
遍历:依次处理该数据结构的所有成员
为各种数据结构,提供一个统一的、简便的访问接口
使得数据结构的成员能够按某种次序排列
ES6创造了一种新的遍历命令 for…of循环,Interator接口主要供for…of消费
遍历过程如下:
1、创建一个指针对象,指向当前数据结构的起始位置。遍历器对象本质上就是一个指针对象。
2、第一次调用指针对象的next方法,可以将指针指向数据结构的第一个成员。
3、第二次调用指针对象的next方法,指针就指向数据结构的第二个成员。
4、不断调用指针对象的next方法,直到它指向数据结构的结束位置。
每一次调用next方法,都会返回数据结构的当前成员的信息。一个包含value和done两个属性的对象。
Iterable Iterator IterationResult
一种数据结构只要部署了Interator接口,就称这种数据结构是“可遍历的( Iterable )”
1 | [Symbol.iterator]:function(){ |
原生具备 Iterator接口的数据结构: