Rumah >hujung hadapan web >tutorial js >分享Iterator与iterator接口的实例代码

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

零下一度
零下一度asal
2017-06-24 14:41:481672semak imbas

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

 

Atas ialah kandungan terperinci 分享Iterator与iterator接口的实例代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn