91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

js中Iterator是什么

發布時間:2022-03-24 14:56:53 來源:億速云 閱讀:280 作者:小新 欄目:web開發

這篇文章將為大家詳細講解有關js中Iterator是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Iterator是什么,有什么作用?

Iterator是理解第61條的先決知識,也許是我IQ不夠Iterator和Generator看了很多遍還是一知半解,即使當時理解了,過一陣又忘得一干二凈。。。

Iterator(迭代器)是一種接口,也可以說是一種規范。為各種不同的數據結構提供統一的訪問機制。任何數據結構只要部署Iterator接口,就可以完成遍歷操作(即依次處理該數據結構的所有成員)。

Iterator語法:

const obj = {
    [Symbol.iterator]:function(){}}

[Symbol.iterator]屬性名是固定的寫法,只要擁有了該屬性的對象,就能夠用迭代器的方式進行遍歷。

迭代器的遍歷方法是首先獲得一個迭代器的指針,初始時該指針指向第一條數據之前,接著通過調用 next 方法,改變指針的指向,讓其指向下一條數據 每一次的 next 都會返回一個對象,該對象有兩個屬性

  • value 代表想要獲取的數據

  • done 布爾值,false表示當前指針指向的數據有值,true表示遍歷已經結束

Iterator 的作用有三個:

  1. 為各種數據結構,提供一個統一的、簡便的訪問接口;

  2. 使得數據結構的成員能夠按某種次序排列;

  3. ES6 創造了一種新的遍歷命令for…of循環,Iterator 接口主要供for…of消費。

遍歷過程:

  1. 創建一個指針對象,指向當前數據結構的起始位置。也就是說,遍歷器對象本質上,就是一個指針對象。

  2. 第一次調用指針對象的next方法,可以將指針指向數據結構的第一個成員。

  3. 第二次調用指針對象的next方法,指針就指向數據結構的第二個成員。

  4. 不斷調用指針對象的next方法,直到它指向數據結構的結束位置。

每一次調用next方法,都會返回數據結構的當前成員的信息。具體來說,就是返回一個包含value和done兩個屬性的對象。其中,value屬性是當前成員的值,done屬性是一個布爾值,表示遍歷是否結束。

let arr = [{num:1},2,3]let it = arr[Symbol.iterator]() 
// 獲取數組中的迭代器console.log(it.next()) 	
// { value: Object { num: 1 }, done: false }console.log(it.next()) 
	// { value: 2, done: false }console.log(it.next()) 
		// { value: 3, done: false }console.log(it.next())
		 	// { value: undefined, done: true }

關于“js中Iterator是什么”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

雷山县| 固始县| 专栏| 灵寿县| 达州市| 浦县| 闸北区| 嘉黎县| 遂昌县| 翁源县| 平安县| 尤溪县| 昆明市| 丹东市| 台山市| 揭西县| 电白县| 大姚县| 永昌县| 开化县| 海盐县| 界首市| 京山县| 英山县| 黑河市| 交城县| 夏河县| 固始县| 临漳县| 呼伦贝尔市| 伊通| 阳新县| 平山县| 黄冈市| 新巴尔虎右旗| 阿鲁科尔沁旗| 通化市| 永善县| 商都县| 利川市| 大方县|