iterator 是一种接口,为不同的数据结构提供统一的访问机制,任何数据结构只要部署iterator接口,可以完成遍历操作;并且数据结构的成员能够按某种次序排
序;且iterator接口主要是供ES6中的for of 来消费
lterator 遍历过程:
1.创建指针对象,指向当前数据结构的起始 2.第一次调用指针对象next方法,可以将指针指向数据结构的第一个成员 3.第二次调用,指向下一个,一直指导数据结构结束位置
原生具备Iterator 接口的数据结构:
Array、Map、Set、String、TypedArray、arguments、NodeList
可以用keys values entries 来检查是否为iterator ,否返回is not iterable
let arr=[1,2,3,4,5];
console.log(arr.keys());
console.log(arr.values());
console.log(arr.entries());
//Object [Array Iterator] {}
Object [Array Iterator] {}
Object [Array Iterator] {}