全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

ES6中Iterator与for..of..遍历用法分析

本文实例讲述了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 请看 https://www./article/110048.htm,如果你不知道Set 请看 https://www./article/110052.htm 。

希望本文所述对大家ECMAScript程序设计有所帮助。


# ES6  # Iterator  # for..of..  # 遍历  # ES6 Iterator遍历器原理  # 应用场景及相关常用知识拓展详解  # ES6新特性二:Iterator(遍历器)和for-of循环详解  # ES6实现的遍历目录函数示例  # ES9的新特性之正则表达式RegExp详解  # 一文读懂ES7中的javascript修饰器  # ES7之Async/await的使用详解  # ES7中利用Await减少回调嵌套的方法详解  # 详解ES9的新特性之异步遍历Async iteration  # 数据结构  # 如果你不  # 是一种  # 给大家  # 弹出  # 或者说  # 它将  # 所述  # 为了更好  # 程序设计  # 就可以  # 组中  # 不适用于  # 讲述了  # var  # simIteractor  # class  # brush  # js 


相关文章: 网页设计网站制作软件,microsoft office哪个可以创建网页?  如何快速使用云服务器搭建个人网站?  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  实现点击下箭头变上箭头来回切换的两种方法【推荐】  常州自助建站费用包含哪些项目?  在线教育网站制作平台,山西立德教育官网?  如何在阿里云虚拟主机上快速搭建个人网站?  历史网站制作软件,华为如何找回被删除的网站?  如何通过远程VPS快速搭建个人网站?  ,有什么在线背英语单词效率比较高的网站?  济南专业网站制作公司,济南信息工程学校怎么样?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  网站代码制作软件有哪些,如何生成自己网站的代码?  建站之星多图banner生成与模板自定义指南  Android使用GridView实现日历的简单功能  广州美橙建站如何快速搭建多端合一网站?  教学论文网站制作软件有哪些,写论文用什么软件 ?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  如何制作算命网站,怎么注册算命网站?  深入理解Android中的xmlns:tools属性  *服务器网站为何频现安全漏洞?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  如何在阿里云域名上完成建站全流程?  贸易公司网站制作流程,出口贸易网站设计怎么做?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  济南企业网站制作公司,济南社保单位网上缴费步骤?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  建站之星后台密码遗忘或太弱?如何重置与强化?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  建站主机选择指南:服务器配置与SEO优化实战技巧  Android滚轮选择时间控件使用详解  网站制作知乎推荐,想做自己的网站用什么工具比较好?  公司网站的制作公司,企业网站制作基本流程有哪些?  建站主机是否属于云主机类型?  如何基于云服务器快速搭建个人网站?  如何制作网站标识牌,动态网站如何制作(教程)?  建站主机服务器选购指南:轻量应用与VPS配置解析  C++如何使用std::optional?(处理可选值)  如何选择香港主机高效搭建外贸独立站?  如何在七牛云存储上搭建网站并设置自定义域名?  小型网站建站如何选择虚拟主机?  如何选择高效可靠的多用户建站源码资源?  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  微课制作网站有哪些,微课网怎么进?  建站主机如何安装配置?新手必看操作指南  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  建站之星3.0如何解决常见操作问题?  如何通过VPS搭建网站快速盈利? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。