关于Symbol.iterator 学习笔记

1.可以部署在对象上的一个遍历器

2. 遍历器是一个函数,需要返回一个含有一个next 方法的对象

 

const likeArray = {0:'a', 1: 'b', 2: 'c',3: 'd'. length: 4};

likeArray[Symbol.iterator] = function(){ // 提供一个遍历器接口

  let i = 0;

  return {

    next: () => {

      return {value: this[i], done: i++ === this.length}

    }

  }

}

 

generator函数可以生成遍历器

likeArray[Symbol.iterator] = function * (){

  let i = 0;

  while(i !== this.length){

       yield this[i++]

  }

}

posted @ 2020-09-29 00:58  大桥默默学  阅读(340)  评论(0编辑  收藏  举报