ES6——迭代器

简介: 迭代器(iterator):是一种接口,为各种不同的数据结构提供统一的访问机制。任何数据结构只要部署lterator接口,就可以完成遍历操作。

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

迭代器对象一旦被建立,就可以通过显式的重复调用next(),或者使用JavaScript的 for…in 和 for each 循环隐式调用。本内容只介绍next();

const arr = ['111', '222', '333']
    for (let item of arr) {
    console.log(item)
    }
    let iterator = arr[Symbol.iterator]()
    console.log(iterator);
    console.log(iterator.next());
    console.log(iterator.next());
    console.log(iterator.next());

打印效果:

20211008143350778.png

应用:

const school = {
    name: '123学院',
    students: [
      'NanChen',
      'Sunmouwei',
      'Jiangmouyu',
    ],
    [Symbol.iterator](){
      let index = 0;
      return {
      next:()=>{
        if(index < school.students.length){
        let res = {
          value:this.students[index],
          done:false
        }
        index++;
        return res;
        }else {
        return {
          value:undefined,
          done:true,
        }
        }
      }
      }
    }
    }
    for (let item of school) {
         // 或者使用for(let item of school.students){也是可以的
    console.log(item)
    }

打印效果:

20211008143724193.png

相关文章
|
1月前
|
JavaScript
ES6之迭代器
ES6之迭代器
|
1月前
|
JavaScript 前端开发
ES6之迭代器(Iterator)
ES6引入了迭代器的概念,这个特性为JavaScript带来了更强大的迭代和异步编程能力。本文将深入探讨ES6的迭代器,介绍其概念、用法以及在实际开发中的应用。 迭代器(Iterator)是ES6引入的一种新的数据结构,它提供了一种统一的遍历机制,可以用来遍历各种不同类型的数据。迭代器的概念、作用和遍历原理如下所述:
33 0
|
1月前
|
前端开发 小程序
ES6 数组中的对象去重
ES6 数组中的对象去重
|
1月前
|
前端开发 Java C++
三种实用ES6 数组内对象去重方法
三种实用ES6 数组内对象去重方法
|
1月前
|
索引
ES6学习之数组
ES6学习之数组
|
7月前
ES6常见的数组方法
ES6常见的数组方法
32 1
|
数据库
ES6 从入门到精通 # 14:迭代器 Iterator 的用法
ES6 从入门到精通 # 14:迭代器 Iterator 的用法
69 0
ES6 从入门到精通 # 14:迭代器 Iterator 的用法
|
JavaScript 前端开发 Java
【扒一扒】深入理解 ES6 Iterator
本文主要来说下ES6的Iterator,目的在于理解它的概念、作用、以及现有的应用,最后学以致用。 Iterator可以说是ES6内相当重大的一个特性,也是很多其他特性运行的基石。 为什么Iterator地位如此之高呢?
76 0
【扒一扒】深入理解 ES6 Iterator