多语言展示
当前在线:1237今日阅读:84今日分享:32

ES6 迭代接口iterator实现

为数据结构实现iterator接口
工具/原料

源码:https://pan.baidu.com/s/1sASqhXzIC94ae-SYYv0CAg

方法/步骤
1

作用为所有的数据结构提供统一的访问方式。

2

接口对象接口对象一共有3个方法,next()方法、return()方法、throw()方法。 next() 必填用于for..of迭代。该方法返回一个对象{value,done}。 value:元素值,done:状态位,用于指定循环是否结束。 return() 可选用于break语句,或出错结束循环。 throw() 可选throw方法主要是配合 Generator 函数使用

3

接口实现通过内置Symbol.iterator属性来实现接口,该接口主要是返回一个对象指针,然后通过调用接口对象的next方法来实现访问下一个元素值。

4

具备iterator接口的对象1:数组2:字符串3:函数的 arguments 对象4:  Set/Map 数据结构5:TypedArray6:NodeList 对象

5

接口调用1:手动调用。2:for..of语句3:... (扩展运算符)

7

链表数据结构实现iterator接口

推荐信息