Learn-ES6-Iterator
1.Iterator(遍历器) Javascript 现有的表示集合的数据结构,出了原本的对象(Object)和数组(Array),ES6 又增加了 Set 和 Map。Iterator 是可以用来统一处理所有不同的数据结构的接口机制。任何数据结构只要部署了 Interator 接口,就可以完成遍历操作。 Iterator 的作用有三个:一是为各种数据结构,提供一个统一的、简便的访问接口;二是使得数据结构的成员能够按某种次序排列;三是 ES6 创造了一种新的遍历命令for…of循环,Iterator 接口主要供for…of消费。 Interator 的遍历过程是首先创建一个指针对象,指向当前数据结构的起始位置,然后调用指针对象的 next 方法,从数据结构的第一个成员开始,依次指向每个成员,直到指向数据结构的结束位置。 每一次调用next方法,都会返回数据结构的当前成员的信息。具体来说,就是返回一个包含value和done两个属性的对象。其中,value属性是当前成员的值,done属性是一个布尔值,表示遍历是否结束。 一个模拟 next 方法返回值的例子 const makeInterator = (array) => { let nextIndex = 0 return { next() { return nextIndex < array.length ? {value: array[nextIndex++], done: false} : {value: undefined, done: true} } } } var it = makeInterator(['a', 'b']) it.next() // {value: 'a', done: false} it.next() // {value: 'b', done: false} it....