ES6 遍历器Iterator(迭代器)
2022-05-05 本文已影响0人
生命里那束光
一、迭代器介绍
1. 概述:
- 遍历器(Iterator)就是一种机制。它是一种接口
作用:为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署 Iterator 接口,就可以完成遍历操作。
2. 特性:
- ES6 创造了一种新的遍历命令 for...of 循环,Iterator 接口主要供 for...of 消费。
原生具备 iterator 接口的数据(可用 for of 遍历):
- Array;
- Arguments;
- Set;
- Map;
- String;
- TypedArray;
- NodeList;
- for...of遍历元素
- for...in遍历索引
3. 工作原理:
- 创建一个指针对象,指向当前数据结构的起始位置;
- 第一次调用对象的 next 方法,指针自动指向数据结构的第一个成员;
- 接下来不断调用 next 方法,指针一直往后移动,直到指向最后一个成员;
- 每调用 next 方法返回一个包含 value 和 done 属性的对象;
注:需要自定义遍历数据的时候,要想到迭代器;