在es6中,遍歷器(Iterator)是一種接口,用於處理不同的資料結構,為各種不同的資料結構提供統一的存取機制,只要資料結構部署了Iterator接口,就可以完成遍歷操作;遍歷器能夠使得資料結構的成員依某種次序排列。
本教學操作環境:windows10系統、ECMAScript 6.0版、Dell G3電腦。
JavaScript 原有的表示「集合」的資料結構,主要是陣列(Array)和物件(Object),ES6 又加入了Map和Set。這樣就有了四種資料集合,使用者還可以組合使用它們,定義自己的資料結構,例如陣列的成員是Map,Map的成員是物件。這樣就需要一個統一的介面機制,來處理所有不同的資料結構。
遍歷器(Iterator)就是這樣一種機制。它是一種接口,為各種不同的資料結構提供統一的存取機制。任何資料結構只要部署 Iterator 接口,就可以完成遍歷操作(即依序處理該資料結構的所有成員)。
遍歷器Iterator是一種接口,為各種不同的資料結構提供統一的存取機制,即for...of循環。
任何資料結構只要部署 Iterator 接口,就可以完成遍歷操作。
遍歷器的作用
為各種資料結構,提供一個統一的、簡單的存取介面;
#使得資料結構的成員能夠依某種次序排列;
ES6 創造了一個新的遍歷指令for…of循環,Iterator 介面主要供for… of消費(for of遍歷的物件必須存在遍歷器介面才可以遍歷)
#Iterator 的遍歷過程
function makeInterator(array){ let startIndex=0; return { next:function(){ return startIndex<array.length?{value:array[startIndex++],done:false}:{value:undefined,done:true} } } } let inter=makeInterator([1,2,3,4]); console.log(inter.next()); console.log(inter.next()); console.log(inter.next()); console.log(inter.next()); console.log(inter.next());
以上是es6遍歷器是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!