小郑搞码事:如何理解Interator(迭代器)使遍历变得更加灵活可控

点击右上方红色按钮关注“小郑搞码事”,每天都能学到知识,搞懂一个问题!

首先,在前端,遍历一个数组的方式有很多,比如,for-of,map,forEach等。当我们使用map,forEach这类方式时能将循环遍历的数组元素指定到一个具体处理的函数中进行。这样的的函数一般是个纯函数。但缺陷是用它时不能直接跳出整个循环。只能跳出当前单步循环。所以,数组遍历一般采用for-of来处理,新的语法提供了另一种处理方式:迭代器。

对比看一下用法:

首先,我们看一下for-of的遍历方式:

小郑搞码事:如何理解Interator(迭代器)使遍历变得更加灵活可控

输出:1,2,3,4,5

下面看一下迭代器的用法:

小郑搞码事:如何理解Interator(迭代器)使遍历变得更加灵活可控

输出:1

如果想接着输出下一个数值,可以这么搞:

小郑搞码事:如何理解Interator(迭代器)使遍历变得更加灵活可控

输出:2

这样一看就很明显看出来两者的区别了。迭代器可以在循环开始后任意的地方进行数组的单步循环,当循环迭代中每次单步循环操作都不一样时,使用interator就很有用了。如果使用for-of则需要不断判断执行的次数来执行不同的单步循环。

总结一下:

新语法中还有一个生成器Generator与这里说的迭代器interator非常相似,下次再来了解一下。


分享到:


相關文章: