• 9.迭代器


    Iterator
    是一种新的遍历机制,特点
      1.迭代器是一个接口,能快捷的访问数据,通过Symbol.iterator来创建迭代器 通过迭代器的next()获取迭代之后的结果  

      2.对象包含了 value 和 done 两个属性, value 是当前属性的值, done 用于判断是否遍历结束(当 done 为 true 时则遍历结束)
      3.迭代器是用于遍历数据结构的指针(数据库的游标)

    栗子

    const items = ["zero", "one", "two"];
    const it = items[Symbol.iterator]();
     
    it.next();
    >{value: "zero", done: false}
    it.next();
    >{value: "one", done: false}
    it.next();
    >{value: "two", done: false}
    it.next();
    >{value: undefined, done: true}

    可迭代的数据结构

    • Array
    • String
    • Map
    • Set
    • Dom元素(正在进行中)

    for...of循环

    of 操作数必须是可迭代,这意味着如果是普通对象则无法进行迭代。如果数据结构类似于数组的形式,则可以借助 Array.from() 方法进行转换迭代。

    for (let item of arrayLink) {
      console.log(item); // 报 TypeError 异常
    }
     
    for (let item of Array.from(arrayLink)) {
      console.log(item);
    }
    // zero
    // one

    let 、const 和 var 用于 for..of

    如果使用 let 和 const ,每次迭代将会创建一个新的存储空间,这可以保证作用域在迭代的内部。

  • 相关阅读:
    OC面向对象—封装
    OC内存管理
    OC方法和文件编译
    OC语言基础知识
    OC语言前期准备
    C语言指针基础
    C语言字符串
    C语言数组
    C语言内存分析
    C语言函数
  • 原文地址:https://www.cnblogs.com/sunny666/p/12986043.html
Copyright © 2020-2023  润新知