您好,登录后才能下订单哦!
这篇文章将为大家详细讲解有关怎么在ES6中使用Iterator与for..of实现遍历,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
Iterator与for..of..遍历
1.Iterator概念
遍历器(Iterator)是一种接口,为各种不同的数据结构提供统一的访问机制。JS中有些数据结构具备原生的Iterator接口。为了更好理解这个概念,我们也可以自己写一个Iterator。
var it = simIteractor(['hi','ES5']); console.log(it.next()); //Object {value: "hi", done: false} console.log(it.next()); //Object {value: "ES5", done: false} console.log(it.next()); //Object {value: undefined, done: true} function simIteractor(array){ var nextIndex = 0; return{ next: function(){ return nextIndex < array.length ? {value: array[nextIndex++], done: false} : {value: undefined, done:true}; } }; }
2.ES6中规定,默认的Iterator接口部署在数据结构的Symbol.iterator属性,或者说,一个数据结构只要具有Symbol.iterator属性就可以任务是可遍历的。在ES6中,有3类数据结构原生具备Iterator接口:数组、某些类似数组的对象、Set及Map。
3.提到可遍历,就要说说遍历的方法。
for...in... : for-in是为普通对象设计的,你可以遍历得到字符串类型的键,因此不适用于数组遍历。
For...of... : for-of循环用来遍历数据—例如数组中的值。for-of循环也可以遍历其它的集合
for-of循环不仅支持数组,还支持大多数类数组对象,例如DOMNodeList。
for-of循环也支持字符串遍历,它将字符串视为一系列的Unicode字符来进行遍历:
or (var chr of "abc"){ alert(chr); //依次弹出a,b,c }
关于怎么在ES6中使用Iterator与for..of实现遍历就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。