设为首页 加入收藏

TOP

ES6-----学习系列十五(Iterator)
2017-10-13 10:49:45 】 浏览:9466
Tags:ES6----- 学习 系列 十五 Iterator

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

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇ES6-----学习系列十七(Decorator.. 下一篇(生产)vue-lazyload - 图片延迟..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目