💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# Iterator 迭代器 > 遍历器(Iterator)是一种机制。它是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署 Iterator 接口,就可以完成遍历操作(即依次处理该数据结构的所有成员) - 为各种数据结构,提供一个统一的、简便的访问接口 - 使得数据结构的成员能够按某种次序排列 - ES6 创造了一种新的遍历命令 for...of 循环,Iterator 接口主要供 for...of 消费 ```javascript //迭代器实现 var it = makeIterator(['a', 'b']); console.log(it.next()); // { value: "a", done: false } console.log(it.next()); // { value: "b", done: false } console.log(it.next()); // { value: undefined, done: true } function makeIterator(array) { var nextIndex = 0; return { next: function() { return nextIndex < array.length ? { value: array[nextIndex++], done: false } : { value: undefined, done: true }; } }; } ``` > es6中,有三类数据结构原生具备Iterator接口:数组、类数组的对象、Set和Map结构。 for of可实现遍历Iterator内部数据 **for...of循环可以使用的范围包括数组、Set和Map结构、某些类似数组的对象(比如arguments对象、DOM NodeList对象)、Generator(生成器)对象,以及字符串。**