小鄭搞碼事:如何理解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非常相似,下次再來了解一下。


分享到:


相關文章: