首页  >  文章  >  web前端  >  分享Iterator与iterator接口的实例代码

分享Iterator与iterator接口的实例代码

零下一度
零下一度原创
2017-06-24 14:41:481654浏览

Iterator(迭代器)接口

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

输出结果如下:

 

自定义iterator接口

{
  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
  }
}

 

以上是分享Iterator与iterator接口的实例代码的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn