下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

web前端:ES6 - 基础学习(13): Iterator(迭代器) 和 for...of 循环

作者: 帝鸿琬琰     来源: https://www.cnblogs.com/donghuang/p/12398293.html点击数:647发布时间: 2020-03-10 15:31:26

标签: 数据库ES6数据结构

Web开发

  迭代器(Iterator)模式,又叫做游标(Cursor)模式。GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节。从定义可见,迭代器模式是为容器而生。很明显,对容器对象的访问必然涉及到遍历算法。你可以一股脑的将遍历方法塞到容器对象中去;或者根本不去提供什么遍历算法,让使用容器的人自己去实现去吧。这两种情况好像都能够解决问题。

  Iterator

  Iterator是ES6引入的一种新的遍历机制,迭代器有两个核心概念:

  1、迭代器是一个统一的接口,它的作用是使各种数据结构可被便捷的访问,它是通过一个键为Symbol.iterator的方法来实现。

  2、迭代器是用于遍历数据结构元素的指针(如数据库中的游标)。

  迭代过程

  迭代的过程如下:

  1、通过Symbol.iterator创建一个迭代器,指向当前数据结构的起始位置

  2、随后通过next方法进行向下迭代指向下一个位置,next方法会返回当前位置的对象,对象包含了value和done两个属性,value是当前属性的值,done用于判断是否遍历结束

  3、当done为true时则遍历结束

  迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次"迭代",而每一次迭代得到的结果会作为下一次迭代的初始值。

赞(13)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程