博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ES6-Iterator与for..of..遍历
阅读量:3661 次
发布时间:2019-05-21

本文共 1003 字,大约阅读时间需要 3 分钟。

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接口:数组、某些类似数组的对象、SetMap

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

   }

它同样支持MapSet对象遍历。如果你不知道Map 请看  ,如果你不知道Set 请看  。 

转载地址:http://riefn.baihongyu.com/

你可能感兴趣的文章
【JavaWeb】常见数据库和JDBC错误的解决思路
查看>>
springmvc的静态资源无法访问解决方法(基本全面)
查看>>
【记坑】freemarker拿不到对象的值
查看>>
Maven基础学习(全面)
查看>>
oracle之40道经典的sql练习
查看>>
最详细的Spring-data-jpa入门(一)
查看>>
win7/win10下的jdk的安装和环境变量的配置
查看>>
PAT乙级_1077 互评成绩计算 (20 分)_python
查看>>
PAT乙级_1088 三人行 (20 分)_python
查看>>
PAT乙级_1089 狼人杀-简单版 (20 分)_python
查看>>
PAT乙级_1092 最好吃的月饼 (20 分)_python
查看>>
操作系统页表&进程调度Tips
查看>>
RT-Thread 学习笔记:一、通俗易懂学会创建线程
查看>>
转义序列
查看>>
约分最简分式
查看>>
时间换算
查看>>
逆序的三位数
查看>>
JS下拉框实现省市联动
查看>>
JS实现文字无缝滚动
查看>>
JavaScript高级学习(三)
查看>>