javascript迭代器怎么实现

技术javascript迭代器怎么实现本篇内容主要讲解“javascript迭代器怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript迭代器怎么实现”吧

本文主要讲解“如何实现javascript迭代器”。感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖带你学习“如何实现javascript迭代器”!

在javascript中,迭代器是一个特殊的对象,它有一些专门为迭代过程设计的专有接口。所有迭代器对象都有next()方法,每次调用都会返回一个结果对象。迭代器保存指向当前集合中值的位置的内部指针。

本教程操作环境:windows7系统,javascript1.8.5版本1.8.5,戴尔G3电脑。

一、迭代器的定义:

迭代器是一个特殊的对象,它有一些专门为迭代过程设计的专有接口。所有迭代器对象都有next()方法,每次调用都会返回一个结果对象。结果有两个属性:一个是value,表示接下来要返回的值;另一个完成了,这是一个布尔值,当没有更多数据可返回时,它返回true。迭代器还保留一个指向当前集合中值的位置的内部指针,对next()方法的每次调用都将返回下一个可用值。

如果在返回最后一个值后调用next()方法,则返回的对象中完成的属性值为true,属性值包含迭代器最终返回的值。这个返回值不是数据集的一部分,它类似于函数的返回值,是函数调用过程中最后一个向调用者传递信息的方法,如果没有相关数据,则返回undefined。

二、为何会出现迭代器?

背景前提:

我相信您一定使用了for循环,空指针引用也有问题:例如,数组长度只有5,但您的索引已经达到6。轻微的逻辑错误将导致程序无法正常运行。

迭代器想要解决的问题是:

解决或减少在使用for-like循环的过程中访问变量集的错误问题。例如:空指针引用。

举个栗子:

当我们使用for循环遍历集合时,很容易出错,但是如果我们使用像forEach这样的东西,空指针引用的问题就会减少。

array.forEach(元素={ 0

//这时候不用我就可以操作器械包了

});

三、用js实现一个简单的迭代器

functionmyIterator(列表){ 0

leti=0;

返回{

next : function(){ 0

letdone=(I=list . length);

letvalue=!完成了吗?列表[I]:未定义;

返回{

done:done,

值:值

};

}

};

}从函数定义可以看出:

函数返回值是个对象,在对象中,键是下一个,值是函数;

每调用一次next(),i+1,同时返回一个对象,一个物体是一个集合的元素;

至此,相信大家对“如何实现javascript迭代器”有了更深的理解,让我们在实践中去做吧!这是网站。更多相关内容,可以去相关渠道查询,关注我们,继续学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/138488.html

(0)

相关推荐

  • 589. N 叉树的前序遍历

    技术589. N 叉树的前序遍历 589. N 叉树的前序遍历给定一个 N 叉树,返回其节点值的 前序遍历 。
    N 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)

    礼包 2021年12月20日
  • python playwright自动等待和断言举例分析

    技术python playwright自动等待和断言举例分析本篇内容主要讲解“python playwright自动等待和断言举例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家

    攻略 2021年11月26日
  • 高脚蟹,刚刚死的螃蟹吃不完如何保存

    技术高脚蟹,刚刚死的螃蟹吃不完如何保存放冰箱的冷冻室冷冻起来,超市也卖那种冷冻的海鲜的。或者你可以腌制起来。不过死掉的螃蟹是不建议吃的。如果一次性买多了吃不了的话可以用以下方法保鲜高脚蟹:1、放在冰箱冷藏室内用湿毛巾盖上

    生活 2021年10月21日
  • 歌吟的意思,古代文人雅士的啸是什么意思

    技术歌吟的意思,古代文人雅士的啸是什么意思啸,一种歌吟方式歌吟的意思。啸,一种歌吟方式,称之为“啸”。啸不承担切实的内容,不遵守既定的格式,只随心所欲地吐露出一派风致,一腔心曲,因此特别适合乱世名士。历史上的魏晋时期多有

    生活 2021年10月27日
  • 怎么解决Mysql中的Last_Errno报错问题

    技术怎么解决Mysql中的Last_Errno报错问题本篇内容主要讲解“怎么解决Mysql中的Last_Errno报错问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解

    攻略 2021年11月18日
  • thinkphp怎么开启api(thinkphp命令行怎么设置)

    技术thinkphp大d方法怎么使用这篇文章主要介绍“thinkphp大d方法怎么使用”,在日常操作中,相信很多人在thinkphp大d方法怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家

    攻略 2021年12月16日