JavaScript iterator

56 阅读1分钟

iterator

iterator 遍历器(送代)

寻找 iterator

[Array][Symbol.iterator]();

什么是 iterator

 Symbol.iterator (可遍历对象的生成方法) -> it (可遍历对象) -> it.next() -> it.next() ->... (直到 done 为 true)

```js
    const it = [1, 2][Symbol.iterator]();
    console.log(it.next()); // {value:1,done:false}  value=遍历的值 done=遍历是否完成
    console.log(it.next());
    console.log(it.next());
    console.log(it.next());
```

为什么需要 iterator

1. 遍历数组:for 循环和 forEach 方法
2. 遍历对象:for in 循环
3. iterator 遍历器是用来统一的遍历方式

一般情况不会直接使用 iterator 去遍历