首頁  >  文章  >  web前端  >  es6遍歷器是什麼

es6遍歷器是什麼

WBOY
WBOY原創
2022-04-26 11:17:541776瀏覽

在es6中,遍歷器(Iterator)是一種接口,用於處理不同的資料結構,為各種不同的資料結構提供統一的存取機制,只要資料結構部署了Iterator接口,就可以完成遍歷操作;遍歷器能夠使得資料結構的成員依某種次序排列。

es6遍歷器是什麼

本教學操作環境:windows10系統、ECMAScript 6.0版、Dell G3電腦。

es6遍歷器是什麼

JavaScript 原有的表示「集合」的資料結構,主要是陣列(Array)和物件(Object),ES6 又加入了Map和Set。這樣就有了四種資料集合,使用者還可以組合使用它們,定義自己的資料結構,例如陣列的成員是Map,Map的成員是物件。這樣就需要一個統一的介面機制,來處理所有不同的資料結構。

遍歷器(Iterator)就是這樣一種機制。它是一種接口,為各種不同的資料結構提供統一的存取機制。任何資料結構只要部署 Iterator 接口,就可以完成遍歷操作(即依序處理該資料結構的所有成員)。

遍歷器Iterator是一種接口,為各種不同的資料結構提供統一的存取機制,即for...of循環。

任何資料結構只要部署 Iterator 接口,就可以完成遍歷操作。

遍歷器的作用

  • 為各種資料結構,提供一個統一的、簡單的存取介面;

  • #使得資料結構的成員能夠依某種次序排列;

  • ES6 創造了一個新的遍歷指令for…of循環,Iterator 介面主要供for… of消費(for of遍歷的物件必須存在遍歷器介面才可以遍歷)

#Iterator 的遍歷過程

es6遍歷器是什麼

#建立一個指針對象,指向目前資料結構的起始位置。也就是說,遍歷器物件本質上,就是一個指針對象。 ############第一次呼叫指標針對象的next方法,可以將指標指向資料結構的第一個成員。 ############第二次呼叫指標針對象的next方法,指標就指向資料結構的第二個成員。 ############不斷呼叫指標針對象的next方法,直到它指向資料結構的結束位置。 ############每次呼叫next方法,都會傳回資料結構的目前成員的資訊。具體來說,就是傳回一個包含value和done兩個屬性的物件。其中,value屬性是目前成員的值,done屬性是一個布林值,表示遍歷是否結束。 ######範例如下:######普通實作###
    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());
###結果:###############【相關推薦:###javascript視頻教學###、###web前端###】###

以上是es6遍歷器是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn