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

 更新时间:2017年03月31日 11:32:10   作者:柒青衿  
这篇文章主要介绍了ES6中Iterator与for..of..遍历用法,结合实例形式分析了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.jb51.net/article/110048.htm,如果你不知道Set 请看 https://www.jb51.net/article/110052.htm

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

相关文章

  • javascript创建cookie、读取cookie

    javascript创建cookie、读取cookie

    这篇文章主要介绍了javascript创建cookie、读取cookie的操作方法,内容简单易学,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • JS实现根据指定值删除数组中的元素操作示例

    JS实现根据指定值删除数组中的元素操作示例

    这篇文章主要介绍了JS实现根据指定值删除数组中的元素操作,结合实例形式总结分析了JavaScript针对数组元素删除操作的相关实现技巧,需要的朋友可以参考下
    2018-08-08
  • 微信小程序版本机制和storage如何平滑兼容详解

    微信小程序版本机制和storage如何平滑兼容详解

    这篇文章主要给大家介绍了关于微信小程序版本机制和storage如何平滑兼容的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-12-12
  • JS使用base64格式上传文件

    JS使用base64格式上传文件

    这篇文章主要为大家详细介绍了JS使用base64格式上传文件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • js实现0ms延时定时器的几种方式

    js实现0ms延时定时器的几种方式

    本文主要介绍了js实现0ms延时定时器的几种方式,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • js+css实现超简洁的二级下拉菜单效果代码

    js+css实现超简洁的二级下拉菜单效果代码

    这篇文章主要介绍了js+css实现超简洁的二级下拉菜单效果代码,通过非常简单的JavaScript遍历页面元素及动态设置样式达到二级下拉菜单的效果,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • JavaScript逆向分析instagram登入过程

    JavaScript逆向分析instagram登入过程

    这篇文章主要介绍了JavaScript逆向分析instagram登入过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • JavaScript中如何调用Java方法

    JavaScript中如何调用Java方法

    这篇文章主要介绍了JavaScript中如何调用Java方法,帮助大家更好的理解和使用JavaScript,感兴趣的朋友可以了解下
    2020-09-09
  • bootstrap滚动监控器使用方法解析

    bootstrap滚动监控器使用方法解析

    这篇文章主要为大家详细解析了bootstrap滚动监控器使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • js继承的6种方式详解

    js继承的6种方式详解

    这篇文章主要给大家介绍了关于js继承的6种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04

最新评论