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 JMap类定义与使用方法示例

    JavaScript JMap类定义与使用方法示例

    这篇文章主要介绍了JavaScript JMap类定义与使用方法,涉及javascript类的定义、内部变量、函数的定义及使用相关操作技巧,需要的朋友可以参考下
    2019-01-01
  • Javascript中正则表达式的全局匹配模式分析

    Javascript中正则表达式的全局匹配模式分析

    先看一道JavaScript题目,据说是国内某知名互联网企业的JavaScript笔试题,如果对正则的全局匹配模式不了解的话可能会对下面的输出结果感到疑惑。
    2011-04-04
  • js传各种类型参数到Controller层的整理方式

    js传各种类型参数到Controller层的整理方式

    这篇文章主要介绍了js传各种类型参数到Controller层的整理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 基于JavaScript实现购物车功能

    基于JavaScript实现购物车功能

    这篇文章主要为大家详细介绍了基于JavaScript实现购物车功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • 游戏开发中如何使用CocosCreator进行音效处理

    游戏开发中如何使用CocosCreator进行音效处理

    这篇文章主要介绍了游戏开发中如何使用CocosCreator进行音效处理,并对音效组件进行封装,方便以后使用,同学们看完之后,一定要亲手实验一下
    2021-04-04
  • js获取对象、数组的实际长度,元素实际个数的实现代码

    js获取对象、数组的实际长度,元素实际个数的实现代码

    下面小编就为大家带来一篇js获取对象、数组的实际长度,元素实际个数的实现代码。小编觉得挺不错的,现在就分享 给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • JavaScript如何自定义trim方法

    JavaScript如何自定义trim方法

    本文介绍了如何自定义trim方法,trim的作用就是去除字符串前后空格,这个方法在字符串处理方面很有实用价值,需要的朋友可以参考下
    2015-07-07
  • JavaScript中的继承方式详解

    JavaScript中的继承方式详解

    这篇文章主要介绍了JavaScript中的继承方式详解,本文讲解了js继承的概念、原型式继承与类式继承、原型链继承、类式继承、组合继承、原型式继承等内容,需要的朋友可以参考下
    2015-02-02
  • 浅析BootStrap Treeview的简单使用

    浅析BootStrap Treeview的简单使用

    bootstrap-treeview.js1是一款强大的树菜单插件,本文给大家介绍bootstrap treeview的简单使用,涉及到使用要求及数据格式的介绍,本文介绍的非常详细,具有参考借鉴价值,感兴趣的朋友参考下
    2016-10-10
  • javascript的函数

    javascript的函数

    javascript的函数...
    2006-07-07

最新评论