iterator使用TypeScript 的描述:

interface Iterable {
[Symbol.iterator]() : Iterator,
}
interface Iterator {
next(value?: any) : IterationResult,
}
interface IterationResult {
value: any,
done: boolean,
}

一个数据结构只要具有

Symbol.iterator

属性,就可以认为是“可遍历的”(iterable)。

对于类似数组的对象(存在数值键名和

length

属性),部署 Iterator 接口,有一个简便方法,就是

Symbol.iterator

方法直接引用数组的 Iterator 接口。

NodeList.prototype[Symbol.iterator] = Array.prototype[Symbol.iterator];
// 或者
NodeList.prototype[Symbol.iterator] = [][Symbol.iterator];
[...document.querySelectorAll('div')] // 可以执行了

更多专业前端知识,请上 【猿2048】www.mk2048.com

ES6 iterator 迭代器相关推荐

  1. ES6 iterator 迭代器

    iterator使用TypeScript 的描述: interface Iterable {[Symbol.iterator]() : Iterator, }interface Iterator {n ...

  2. ES6高级:扩展运算符,箭头函数,class类,iterator迭代器

    2. 扩展运算符 ... 2.1 reset参数 reset参数==必须放在最后==,为了替代arguments,在函数形参中使用,==接受剩余参数==,以==数组==的形式去接受 //1. rese ...

  3. ES6(迭代器、Set、Map、数组去重)

    目录 迭代器Iterator Iterator 的作用 原生具备 Iterator 接口的数据结构 Iterator 的遍历过程 迭代器实现了Iterator接口,只要实现了Iterator就可以使用 ...

  4. 2021年大数据常用语言Scala(十九):基础语法学习 iterator迭代器

    目录 iterator迭代器 使用迭代器遍历集合 iterator迭代器 scala针对每一类集合都提供了一个迭代器(iterator)用来迭代访问集合 使用迭代器遍历集合 使用iterator方法可 ...

  5. 设计模式(十五):Iterator迭代器模式 -- 行为型模式

    1.概述 类中的面向对象编程封装应用逻辑.类,就是实例化的对象,每个单独的对象都有一个特定的身份和状态.单独的对象是一种组织代码的有用方法,但通常你会处理一组对象或者集合. 集合不一定是均一的.图形用 ...

  6. Java核心API -- 7(Iterator迭代器、Comparable、Comparator比较器)

    1. Iterator迭代器 所有Collection的实现类都实现了iterator方法,该方法返回一个Iterator接口类型的对象,用于实现对集合元素迭代的便利.在java.util包下. 1) ...

  7. 使用Iterator迭代器循环集合

    1.Iterator迭代器用于遍历集合元素,获取迭代器可以使用. 2.Iterator提供了统一遍历集合元素的 方式 ,其提供了用于遍历集合的连个方法----- boolean  hasNext()判 ...

  8. vector容器与iterator迭代器

    vector容器 vector是同一种类型的对象的集合,每个对象都有一个对应的整数索引值.和string对象一样,标准库负责管理存储元素的相关内存.我们把vector称为容器,是因为它可以包含其他对象 ...

  9. Java基础23-集合类2(Set接口,Iterator迭代器)

    一.Set接口简介 根据API,Set接口是一个不包含重复元素的 collection.更确切地讲,set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null ...

最新文章

  1. Squid服务在实际工作中的应用、优化和流量监控
  2. Huawei FusionCompute安装体验
  3. 三层路由中限制VLAN间转发,但其他转发正常事例
  4. 高性能、高并发、高扩展性和可读性的网络服务器架构:StateThreads
  5. 单独安装想要的office_安装OFFICE不再求人,最省心的方法
  6. 红橙Darren视频笔记 仿汽车之家 可拖动列表
  7. EF并非我们想象的那么智能
  8. python人脸比对算法_Python的人脸识别,欧式距离比对,机器训练,人脸采集,离线识别...
  9. 标准音阶及常用乐器频率范围对照表(完全版)
  10. 比较复杂的sql面试题
  11. 服务器SN信息,查询服务器sn号
  12. 微信H5域名被屏蔽被拦截的最新解决方案(微信域名防投诉)
  13. 《麦田里的守望者》谁又不是以过来人的身份,来做一个麦田里的守望者呢?
  14. 如何清理华为云空间的照片
  15. Mybatis 任务二:配置文件深入
  16. java枚举类型及枚举集合
  17. eNSP实验日记四(防火墙配置)
  18. 容器和LXC简单命令
  19. charles 抓包显示unknown
  20. 激光雷达赛道“白刃战”?硅光芯片级FMCW技术进入量产周期

热门文章

  1. python 网格线_Python版简单网格策略(教学)
  2. mysql语句使用_Mysql基本使用语句
  3. Java多线程(6)--Callable接口创建线程
  4. c语言对中文字符串编码_Python || 学习笔记(1):数据类型字符串变量和编码
  5. python属性和方法的区别_Python中几种属性访问的区别
  6. Linux中的15个‘echo’ 命令实例
  7. Python排序算法之快速排序
  8. SCP-bzoj-1019
  9. Mongodb 笔记01 MongoDB 简介、MongoDB基础知识、启动和停止MongoDB
  10. [转]Oracle DB管理内存