zoukankan      html  css  js  c++  java
  • ES6学习笔记六:迭代

    一:迭代器

    它是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署Iterator接口,就可以完成遍历操作(即依次处理该数据结构的所有成员)。

     ES6创造了一种新的遍历命令for...of循环,Iterator接口主要供for...of调用

    二:创建可迭代对象

    一个数据结构只要具有Symbol.iterator属性,就可以认为是“可遍历的”(iterable)。

    Symbol.iterator属性是当前数据结构默认的遍历器生成函数。执行这个函数,就会返回一个遍历器。

    遍历器对象中定义了遍历方法:next、return、throw

    return方法的使用场合是,如果for...of循环提前退出(通常是因为出错,或者有break语句或continue语句),就会调用return方法。如果一个对象在完成遍历前,需要清理或释放资源,就可以部署return方法。

    三:原生的内置了遍历器的数据结构

    • Array
    • Map
    • Set
    • String
    • TypedArray
    • 函数的 arguments 对象

    四:遍历方式对比

    for...in:for...in循环可以遍历数组的下标,或对象的属性名for...in循环主要是为遍历对象而设计的,不适用于遍历数组。(键遍历)

    数组.forEach(func(){todo}):遍历数组成员,中途不能退出

    for...of:调用数据结构的迭代器进行迭代,返回的是成员的值。(值遍历)

  • 相关阅读:
    设计模式整理_单例设计模式
    设计模式整理_工厂模式
    设计模式整理_装饰者模式
    设计模式整理_观察者模式
    设计模式整理_策略模式
    JavaSE复习_7 异常
    JavaSE复习_6 枚举类
    JavaSE复习_5 Eclipse的常见操作
    pta编程题19 Saving James Bond 2
    ImportError: No module named PIL
  • 原文地址:https://www.cnblogs.com/ygj0930/p/7248288.html
Copyright © 2011-2022 走看看