美文网首页
ES6总结 15- Iterator

ES6总结 15- Iterator

作者: 辣瓜瓜 | 来源:发表于2019-05-07 22:26 被阅读0次

ES6学习总结是自己在学习过程中的总结,记笔记就是为了督促自己学习和复习,好记性不如烂笔头。如果有错误,感谢指出。

Iterator

不同数据结构有一个相同办法的接口,实现统一的读取方式

Iterator的基本用法

数组已经实现的下面方法,done代表还有下一个循环,true就没有下一个循环

{
  let arr=['hello','world'];
  let map=arr[Symbol.iterator]();//数组实现了iterator接口
  console.log(map.next());
  console.log(map.next());
  console.log(map.next());
}

实现一个自定义object接口,让objct实现for...of循环

{
  let obj={
    start:[1,3,2],
    end:[7,9,8],
    [Symbol.iterator](){
      let self=this;
      let index=0;
      let arr=self.start.concat(self.end);
      let len=arr.length;
      return {
        next(){
          if(index<len){
            return {
              value:arr[index++],
              done:false
            }
          }else{
            return {
              value:arr[index++],
              done:true
            }
          }
        }
      }
    }
  }
  for(let key of obj){
    console.log(key);//输出1,3,2,7,9,8可以证明obj实现了iterator接口可以使用for of
  }
}

for...of
实现方式就是不停调用Iterator实现的




















相关文章

  • ES6总结 15- Iterator

    ES6学习总结是自己在学习过程中的总结,记笔记就是为了督促自己学习和复习,好记性不如烂笔头。如果有错误,感谢指出。...

  • es6解读6- Iterator 和 for...of 循环

    es6 Iterator 和 for...of 循环 什么是Iterator接口 ES6中内置了一些Symbol,...

  • Generator(二)

    内建Iterator Iterator是ES6的重要组成部分,因此,对许多内建类型你不需要自己创建迭代器,ES6已...

  • 『ES6脚丫系列』遍历器iterator

    『ES6脚丫系列』遍历器iterator本文内容如下: 具有iterator接口的数据结构 【01】原生就具有It...

  • es 常用基础小节--(二)

    上次突然来活儿,现在接着继续: 3.iterator iterator迭代器是另外4个ES6常用特性的实现基础(解...

  • es6解读6- Iterator 和 for...of 循环

    什么是Iterator接口 ES6中内置了一些Symbol,其中最重要的一个恐怕就是Symbol.iterator...

  • JS Iterator(遍历器)

    ES6 规定,默认的 Iterator 接口部署在数据结构的 Symbol.iterator 属性,或者说,一个数...

  • JS新特性

    ES ES5 ES6 箭头函数 Promise Symbol属性 Iterator Generator async...

  • [JavaScript] generator

    ES6中的generator返回一个iterator/iterable,由“function*”定义,genera...

  • ES6 - Iterator

    遍历器(Iterator)是为各种不同的数据结构提供统一的访问机制的一种接口任何数据结构只要部署 Iterator...

网友评论

      本文标题:ES6总结 15- Iterator

      本文链接:https://www.haomeiwen.com/subject/xwmyoqtx.html