JavaScript 中的迭代器(Iterator)是一种接口,用于遍历数据结构中的元素。通过使用迭代器,我们可以按照特定的顺序访问数据结构中的每一个元素,而不必担心数据结构本身的实现细节。
在 JavaScript 中,迭代器是通过 Symbol.iterator 方法来实现的。这个方法返回一个迭代器对象,该对象具有一个 next 方法,用于返回数据结构中的下一个元素。当 next 方法被调用时,它会返回一个包含两个属性的对象:value 和 done。value 属性表示下一个元素的值,done 属性表示数据结构是否已经遍历完毕。如果 done 属性为 true,则表示已经到达了数据结构的末尾,否则表示还有更多的元素可以遍历。
下面是一个使用迭代器遍历数组的例子:
const arr = [1, 2, 3];
const iterator = arr[Symbol.iterator]();
console.log(iterator.next()); // { value: 1, done: false }
console.log(iterator.next()); // { value: 2, done: false }
console.log(iterator.next()); // { value: 3, done: false }
console.log(iterator.next()); // { value: undefined, done: true }
在这个例子中,我们首先获取了数组 arr 的迭代器对象,然后使用 next 方法依次遍历了数组中的每一个元素。最后,当遍历结束时,next 方法返回了一个 done 属性为 true 的对象。