ホームページ >ウェブフロントエンド >jsチュートリアル >イテレータとイテレータインターフェースのサンプルコードを共有する

イテレータとイテレータインターフェースのサンプルコードを共有する

零下一度
零下一度オリジナル
2017-06-24 14:41:481688ブラウズ

イテレータインターフェース

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

出力結果は次のとおりです:

カスタマイズされたイテレータインターフェース

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

以上がイテレータとイテレータインターフェースのサンプルコードを共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。