ES6 -- Iterator 的基本用法

2023-11-13

1. Iterator作用:

    (1) 为各种数据,提供一个统一的,简便的访问接口。

    (2) 使数据结构的成员能够按某种次序排列。

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

2. Iterator 的遍历过程是这样的。

(1)创建一个指针对象,指向当前数据结构的起始位置。也就是说,遍历器对象本质上,就是一个指针对象。

(2)第一次调用指针对象的next方法,可以将指针指向数据结构的第一个成员。

(3)第二次调用指针对象的next方法,指针就指向数据结构的第二个成员。

(4)不断调用指针对象的next方法,直到它指向数据结构的结束位置。

每次返回的对象中包含value和done两个属性。 value是当前成员的值,done是个boolean值,表示遍历是否结束。

3. 原生具备 Iterator 接口的数据结构如下。
    Array
    Map
    Set
    String
    TypedArray
    函数的 arguments 对象

4. 遍历器对象除了具有next方法,还可以具有return方法和throw方法。如果你自己写遍历器对象生成函数,那么next方法是必须部署的,return方法和throw方法是否部署是可选的。

5. for...in 循环可以遍历数组的键名 其中键是以字符串作为键名。 适用于遍历对象。

6. for...of 提供了遍历所有数据结构的统一操作接口。

for (var n of shuzi) {
  if (n > 1000)
    break;
  console.log(n);
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ES6 -- Iterator 的基本用法 的相关文章

  • 栈(也被称作堆栈,一种遵循先进后出原则的数据结构)

    目录 1 栈 Stack 1 1 入栈 push 1 2 出栈 pop 1 3 栈的抽象数据类型 栈ADT 1 4 栈接口 2 利用数组实现栈 2 1 栈的实现 2 2 利用数组实现栈的优势与缺点 3 利用单链表实现栈 3 1 栈的实现 3
  • 【学习笔记】YOLO9000: Better, Faster, Stronger/YOLO2

    本文参考 摘录 修改自以下文章 1 https blog csdn net l7H9JA4 article details 79955903 2 http www 360doc com content 17 1017 09 42392246
  • rio中实现手机端listview滑动删除

    1 toolbar line speedbutton X 2 label image X 4 listview组件 2 组件属性设置 1 image的属性 Size Width 9 000000000000000000 Size Heigh
  • Python之装饰器(综合练习)

    装饰器 案例1 创建装饰器 要求如下 1 创建add log装饰器 被装饰的函数打印日志信息 2 日志格式为 字符串时间 函数名 xxx 运行时间 xxx 运行返回值结果 xxx 代码 import time import functool
  • 帧动画和补间动画的使用

    文章目录 一 Android 动画分类 二 帧动画 二 补间动画 1 alpha anim xml 动画实现 2 scale xml 动画实现 3 set 标签将多个动画组合 4 Java Code 实现 一 Android 动画分类 总的
  • 龙书笔记(11)

    chap 11 网格 后篇 这次涉及的内容微多 如何将x文件中的数据加载到id3dxmesh对象中 如何使用渐近网格接口id3dxpmesh 如何使用d3dx创建外接体 1 ID3DXBuffer 这是一个泛型数据结构 在使用的时候转换成自
  • Jmeter(二十) - 从入门到精通 - JMeter监听器 -下篇(详解教程)

    1 简介 监听器用来监听及显示JMeter取样器测试结果 能够以树 表及图形形式显示测试结果 也可以以文件方式保存测试结果 JMeter测试结果文件格式多样 比如XML格式 CSV格式 默认情况下 测试结果将被存储为xml格式的文件 文件的
  • 第一次做蛋糕,还不错呵呵。

    戚风蛋糕 味道还不错 img http dl iteye com upload attachment 313524 f5f5cd3b 7b82 34bb b343 70bba85f1ae0 jpg img img http dl iteye
  • uk码对照表_英码和中国码对照表

    刚来英国逛街 网购 或者在国内海淘的时候 相信总会有一个问题困扰你 这衣服和鞋子上标注的英码怎么看啊 分不清楚的时候 不得不拿上好几件试过才知道自己的码数 有时候不清楚码数连帮爸妈买件合身的衣服都困难 海淘的宝宝买错了尺码再退货更是个麻烦事
  • 网络_VMware网络连接模式——桥接模式、NAT模式以及仅主机模式的介绍和区别

    VMware网络连接模式 桥接模式 NAT模式以及仅主机模式的介绍和区别
  • C#之 JSon的使用

    Json简介 贴上百度简介地址 关于JSon的介绍 在c 中使用JSON首先需要在NugGit中加载第三方dll接口 NeWtonsoft Json 在需要使用的类中导入命名空间 using NewTonsoftJson Linq 处理Js
  • 未来刷脸支付就是一个必不可少的浪潮

    刷脸就是潮流 时代的产物扫码付款谁都拥有 那刷脸支付体验过吗 那代表未来设备升级就是一个必不可少的浪潮 还在犹豫的你准备加入这年代巨浪吗 AI刷脸支付功能定位就是安全认证 便捷省时 环保省资源 高效率 降低人工成本 人性化 解放双手 在顾客
  • QEventLoop 使用用例

    第一篇 QEventLoop 使用用例 问题描述 实验1 未使用 QEventLoop 实验2 使用 QEventLoop 问题描述 在while循环执行过程中同时响应其它时间 问题比较简单 记录一下实验过程 头文件 class MainW
  • 位运算计算规则

    0 0 0 0 1 0 1 0 0 1 1 1 按位与 两个相应的二进制位中都为1 该位的结果值为1 例 101010 110011 100010 0 0 0 0 1 1 1 0 1 1 1 1 按位或 两个相应的二进制位中只要有一个为1
  • 深入浅出设计模式之观察者设计模式

    举例 先让我们看一个简单的现实生活中的观察者设计模式 我们都知道老师与学生家长的关系 老师会把每次考试的成绩告诉家长 主题 只要是老师所教的班级的学生的家长才能收到 别的班级的家长不能收到 当学生毕业后 学生家长就无法收到学生成绩 只要产生
  • RabbitMQ理论+实战

    1 引出 1 1 中间件应用场景 1 跨系统数据传输 2 高并发的流量削峰 3 数据的分发与异步处理 4 大数据分析与传递 5 分布式事务 1 2 中间件常用协议 01 什么是协议 所谓协议是指 1 计算机底层操作系统和应用程序通讯时共同遵
  • 【华为OD机试/笔试真题 python】出错的或电路

    题目描述 出错的或电路 某生产门电路的厂商发现某一批次的或门电路不稳定 具体现象为计算两个二进制数的或操作时 第一个二进制数中某两个比特位会出现交换 交换的比特位置是随机的 但只交换这两个位 其他位不变 很明显 这个交换可能会影响最终的或结
  • 从零搭建完整python自动化测试框架(UI自动化和接口自动化 )——持续更新

    目录 一 总体框架 二 PO模式 DDT数据驱动 关键字驱动 三 框架技术选择 四 框架运行结果 五 各用例对应的定义方式 PO DDT 六 API接口定义方式 七 测试执行结果 从零开始搭建项目 一 开发环境搭建 二 新建项目 三 基础功
  • 软件测试分类、分级与软件缺陷管理

    软件测试分类与分级 4 1软件测试分类 4 1 1是否关心内部结构 1 白盒测试 白盒测试一般是静态测试 注重于内部结构 又称为结构测试或逻辑驱动测试 是一种按照程序内部逻辑结构和编码结构设计测试数据并完成测试的一种测试方法 2 黑盒测试

随机推荐

  • 回复上一篇文章,RuntimeError: CUDA error: CUBLAS_STATUS_ALLOC_FAILED when calling cublasCreate(handle)成功解决

    回应自己的上一篇文章地址在这 花了两天时间 找了各种方法 各种案例 以及各种的尝试 修改了很多次 也尝试用CPU去跑 后面发现还是跑不起来这个数据集 我罗列一部分方法 方法一 改batch size 的值 有的人问题就是这个 方法二 系统的
  • 报错“Cannot read properties of null (reading ‘addEventListener‘)“

    场景 控制台报错 Cannot read properties of null reading addEventListener 错误原因 因为 JavaScript 中操作DOM元素的函数方法需要在 HTML 文档渲染完成后才可以使用 如
  • 三层交换机配置----ensp

    没有你需要的三层交换配置类型 评论区留言 博主第一时间补充 说明 交换机统一为S3700 连接线为Ethernet 目录 一 最简形式 二 一交换机 多主机 三 三层交换机 二层交换机 四 两台三层交换机 一 最简形式 system vie
  • 国外那些富有创意的 404 页面

    点击上方 前端号 点亮你的前端技能树 最近在搜集前端相关文章时 无意看到了几篇关于国内外 404 页面的收集 觉得很多网站的 404 页面 特别富有创意 所以趁着周末还有些空余的时间 去梳理了一份富有创意的 国外网站 404 页面 正值周末
  • QT开发(二)(信号和槽)

    QT开发 标准信号和槽 自定义槽 带参信号 Lambda表达式 代码 标准信号和槽 main cpp如图所示 诸多的控件应该在主窗口中去实现而不应在主函数中实现 改变编码 TOOLS gt options gt TextEditor gt
  • Qt之QThread详解

    一 线程管理 1 线程启动 void start Priority priority InheritPriority 调用后会执行run 函数 但在run 函数执行前会发射信号started 操作系统将根据优先级参数调度线程 如果线程已经在
  • mac解决Enter passphrase for key每次输入密码

    欢迎点击领取 前端面试题进阶指南 前端登顶之巅 最全面的前端知识点梳理总结 分享一个使用比较久的 1 理解公钥 私钥 当我们关联好自己的git时 发现每次pull 或 push代码时会让我们重复性输入自己的密码 问题不是出在我们关联的不对
  • centos6和centos7防火墙的关闭

    原文 CentOS6 5查看防火墙的状态 1 zh localhost service iptable status 显示结果 1 2 3 4 5 zh localhost service iptable status Redirectin
  • MATLAB使用单纯形法解决线性规划问题,函数形式调用,举例演示

    线性规划隶属于范畴学 在现实的应用十分广泛 简单来说 就是自变量在线性约束的条件下 求线性函数的最小值或最大值 对于优化问题 其数学模型往往需要提取出关键的三要素 即 自变量相关的约束条件 自变量的取值范围 关于自变量的目标函数 对于线性规
  • 【泛微E9开发】workflowservice创建流程

    最下面附demo下载地址 包括所需要的JAR文件 package test WorkflowServicePortType import org junit Test import weaver workflow webservices W
  • python创意作品-python的作品

    广告关闭 2017年12月 云 社区对外发布 从最开始的技术博客到现在拥有多个社区产品 未来 我们一起乘风破浪 创造无限可能 发现了编程与艺术又一个契合点 小开心一下 其实这个过程非常简单 我们先看作品 后讲解代码 python书法作品1
  • 自定义TableLayoutPanel使它能够在运行时用鼠标改变行高和列宽。

    using System using System Collections Generic using System ComponentModel using System Drawing using System Windows Form
  • 1054 求平均值 (20 分)

    1054 求平均值 20 20 分 本题的基本要求非常简单 给定N个实数 计算它们的平均值 但复杂的是有些输入数据可能是非法的 一个 合法 的输入是 1000 1000 区间内的实数 并且最多精确到小数点后2位 当你计算平均值的时候 不能把
  • TiKV架构解析

    TiKV架构解析 TiKV 的整体架构比较简单 如下 参考资料 1 TiKV 源码解析系列 如何使用 Raft 2 TiKV 源码解析系列 multi raf
  • Connection timed out: connect. If you are behind an HTTP proxy, please configure the proxy settings

    Connection timed out connect If you are behind an HTTP proxy please configure the proxy settings either in IDE or Gradle
  • 我的2018年总结

    前言 本来没有打算总结自己的2018年 毕竟自己就是个普通的不能再普通的学生 没有什么特别值得让人关注的地方 但是今天看到了自己的好朋友昨天写了他的2018年总结 看了感觉记录一下自己的生活还是挺有意义的 所以就也打算稍微写一点 毕竟写这些
  • 启动Nginx报[10013]错误的解决方案

    报错情景 今天自己再本地配置好Nginx 但是启动时报了 10013 的错误 上网查了下 原因是80端口被占用了 错误提示如下图 随后在cmd中输入下列命令 如图示 查看了一下80端口的占用情况 发现果然被占用 情况和网上其他人所遇到的是一
  • Nacos使用域名做为服务地址遇到的问题及解决方案

    一 发现问题 应用启动时 增加Nacos服务端的配置信息 应用使用IP加端口连接Nacos服务器时 运行一切正常 启动参数增加以下Nacos参数 Dspring cloud nacos discovery namespace DEV Dsp
  • NUC980开源项目28-error: RPC failed; curl 56 GnuTLS recv error (-110): The TLS connection was

    上面是我的微信和QQ群 欢迎新朋友的加入 项目码云地址 国内下载速度快 https gitee com jun626 nuc980 open source project 项目github地址 https github com Jun117
  • ES6 -- Iterator 的基本用法

    1 Iterator作用 1 为各种数据 提供一个统一的 简便的访问接口 2 使数据结构的成员能够按某种次序排列 3 ES6创造了一种新的遍历命令for of循环 Iterator接口主要供for of消费 2 Iterator 的遍历过程