首页 > 其他 > 详细

Iterator(遍历器)

时间:2020-08-09 20:12:19      阅读:125      评论:0      收藏:0      [点我收藏+]

Iterator是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署Iterator接口,就可以完成遍历操作。

Iterator的作用:

1、为各种数据结构,提供一个统一的、简便的访问接口;

2、使得数据结构的成员能够按某种次序排列;

3、ES6 创造了一种新的遍历命令for...of循环,Iterator 接口主要供for...of消费。

 

简单的例子

let a = 0
let obj = {
  [Symbol.iterator]: function () {
    return {
      next: function () {
        a++
        return a < 5 ? { value: a } : { value: a, done: true }
      }
    }
  }
}

let b = [...obj]
console.log(b)

Array(4) [ 1, 2, 3, 4 ]

 

用Generator函数更简便

let obj = {
  [Symbol.iterator]: function * () {
    yield *[1, 2, 3, 4]
  }
}

let b = [...obj]
console.log(b)

Array(4) [ 1, 2, 3, 4 ]

 

Iterator(遍历器)

原文:https://www.cnblogs.com/allenzhang-920/p/13463994.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!