ES6中Iterator与for..of..遍历用法分析
程序员文章站
2022-05-15 11:33:06
本文实例讲述了es6中iterator与for..of..遍历用法。分享给大家供大家参考,具体如下:
iterator与for..of..遍历
1.iterator概念...
本文实例讲述了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 }
它同样支持map和set对象遍历。如果你不知道map 请看 ,如果你不知道set 请看 。
希望本文所述对大家ecmascript程序设计有所帮助。
上一篇: 用指定字符串替换指定内容
下一篇: php使用异或实现的加密解密实例