摘要:,何為遍歷器遍歷器是一種接口,為各種不同的數(shù)據(jù)結(jié)構(gòu)提供統(tǒng)一的訪問機(jī)制。其中,屬性是當(dāng)前成員的值,屬性是一個布爾值,表示遍歷是否結(jié)束。,默認(rèn)接口循環(huán),當(dāng)使用循環(huán)遍歷某種數(shù)據(jù)結(jié)構(gòu)時,該循環(huán)會自動去尋找接口。
1,何為遍歷器
遍歷器(Iterator)是一種接口,為各種不同的數(shù)據(jù)結(jié)構(gòu)提供統(tǒng)一的訪問機(jī)制。任何數(shù)據(jù)結(jié)構(gòu)只要部署了Iterator接口,就可以完成遍歷操作。
2,遍歷流程創(chuàng)建一個指針對象,指向當(dāng)前數(shù)組結(jié)構(gòu)的起始位置
第一次調(diào)用指針對象的next方法,將指針指向數(shù)據(jù)結(jié)構(gòu)的第一個成員。
第二次調(diào)用指針對象的next方法,就將指針指向數(shù)據(jù)結(jié)構(gòu)的第二個成員。
每一次調(diào)用next放法,都會返回數(shù)據(jù)結(jié)構(gòu)當(dāng)前成員的信息。具體來說,就是返回一個包含 value 和 done 兩個屬性的對象。其中,value屬性是當(dāng)前成員的值,done屬性是一個布爾值,表示遍歷是否結(jié)束。
3,默認(rèn)Iterator 接口for...of 循環(huán),當(dāng)使用for...of循環(huán)遍歷某種數(shù)據(jù)結(jié)構(gòu)時,該循環(huán)會自動去尋找 Iterator 接口。
原生具備 Iterator 接口的數(shù)據(jù)結(jié)構(gòu)如下:
Array
Map
Set
String
TypedArray
函數(shù)的 arguments 對象
NodeList 對象
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/104368.html
摘要:就稱為部署了遍歷器接口。是一個函數(shù),調(diào)用它會生成一個遍歷器對象。它的屬性,也是一個遍歷器對象生成函數(shù),執(zhí)行后返回它自己。返回遍歷器對象。下面是一個無限運(yùn)行的遍歷器對象的例子。 『ES6知識點(diǎn)總結(jié)』遍歷器iterator本文內(nèi)容如下: 1 具有iterator接口的數(shù)據(jù)結(jié)構(gòu) 2 遍歷器過程 3 遍歷器作用: 4 模擬next()方法 5 使用while循環(huán) 6 TypeScript的寫法...
摘要:文章內(nèi)容分兩部分前半部分為迭代器模式概念后半部分為中迭代器上半部分開始迭代器模式提供一種方法順序訪問一個聚合對象中的各個元素,而又不需要暴露該對象的內(nèi)部表示。下半部分開始的迭代器迭代器等同于遍歷器。執(zhí)行該函數(shù),會返回一個遍歷器對象。 showImg(https://segmentfault.com/img/bVbuyaZ?w=800&h=600); 文章內(nèi)容分兩部分: 前半部分為 迭...
摘要:遍歷器之后數(shù)據(jù)結(jié)構(gòu)除了數(shù)組和對象,又添加了和。遍歷器是一種接口規(guī)格,任何數(shù)據(jù)結(jié)構(gòu)只要部署這個接口,就可以完成遍歷操作提供了一個指針,通過指針的指向進(jìn)行遍歷操作它提供了一個指針,默認(rèn)指向當(dāng)前數(shù)據(jù)結(jié)構(gòu)的起始位置。 遍歷器iterator ES6之后數(shù)據(jù)結(jié)構(gòu)除了數(shù)組和對象,又添加了Map和Set。遍歷器是一種接口規(guī)格,任何數(shù)據(jù)結(jié)構(gòu)只要部署這個接口,就可以完成遍歷操作 提供了一個指針,通過指針...
摘要:和數(shù)據(jù)結(jié)構(gòu)以及遍歷器的概念無序不可重復(fù)的集合實例化實例可以調(diào)用的方法結(jié)構(gòu)的實例有以下屬性。返回一個布爾值,表示該值是否為的成員。返回結(jié)構(gòu)的成員總數(shù)。一種數(shù)據(jù)結(jié)構(gòu)只要部署了接口,我們就稱這種數(shù)據(jù)結(jié)構(gòu)是可遍歷的。 Set和Map數(shù)據(jù)結(jié)構(gòu)以及Iterator(遍歷器)的概念 Set 無序不可重復(fù)的集合1.實例化 new Set(); new Set([]); new Set(terry);/...
摘要:和數(shù)據(jù)結(jié)構(gòu)以及遍歷器的概念無序不可重復(fù)的集合實例化實例可以調(diào)用的方法結(jié)構(gòu)的實例有以下屬性。返回一個布爾值,表示該值是否為的成員。返回結(jié)構(gòu)的成員總數(shù)。一種數(shù)據(jù)結(jié)構(gòu)只要部署了接口,我們就稱這種數(shù)據(jù)結(jié)構(gòu)是可遍歷的。 Set和Map數(shù)據(jù)結(jié)構(gòu)以及Iterator(遍歷器)的概念 Set 無序不可重復(fù)的集合1.實例化 new Set(); new Set([]); new Set(terry);/...
摘要:由于中引入了許多數(shù)據(jù)結(jié)構(gòu)算上原有的包括等等數(shù)組需要一個東西來管理他們這就是遍歷器。數(shù)組默認(rèn)遍歷器遍歷值相當(dāng)于依次輸出依次輸出依次輸出依次輸出不難看出默認(rèn)得到值而只能得到索引。即遍歷器的本質(zhì)就是一個指針。 由于 ES6 中引入了許多數(shù)據(jù)結(jié)構(gòu), 算上原有的包括Object, Array, TypedArray, DataView, buffer, Map, WeakMap, Set, We...
閱讀 4062·2021-11-22 13:53
閱讀 3661·2021-11-19 11:29
閱讀 1336·2021-09-08 09:35
閱讀 3214·2020-12-03 17:26
閱讀 543·2019-08-29 16:06
閱讀 2142·2019-08-26 13:50
閱讀 1216·2019-08-23 18:32
閱讀 2182·2019-08-23 18:12