es6-iterator

2018-11-02  本文已影响0人  ahappyone

好记性不如烂笔头

参考文档

JS 中表示集合的数据结构:对象、数组、Map、Set。

iterator: 遍历器,为各种不同的数据结构提供统一的访问机制。任何数据结构,只要部署 iterator 接口就能进行遍历操作。

简单的数组遍历器函数:

一个数据结构只要具有Symbol.iterator属性,就可以认为是“可遍历的”(iterable)。

原生具备 Iterator 接口的数据结构如下。

Array、Map、Set、String、TypedArray、函数的 arguments 对象、NodeList 对象。

如调用数组的 Symbol.iterator:

给类似数组对象部署 iterator 接口:

NodeList.prototype[Symbol.iterator]=Array.prototype[Symbol.iterator]; // 或者NodeList.prototype[Symbol.iterator]=[][Symbol.iterator];

有了遍历器接口就可以用 for...of 遍历。

只要某个数据结构部署了 Iterator 接口,就可以对它使用扩展运算符,将其转为数组:let arr=[...iterable];

遍历器对象还可以有 throw 和 return 方法。

上一篇 下一篇

猜你喜欢

热点阅读