五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Javascript迭代器

2023-08-08 00:47 作者:十三他很帥  | 我要投稿

JavaScript 迭代器在 ES6 中引入,用于遍歷一系列值,通常是集合。根據(jù)定義,迭代器必須實(shí)現(xiàn) next() 函數(shù)。該函數(shù)返回一個(gè) { value, done } 形式的對(duì)象,其中 value 是迭代序列中的下一個(gè)值,done 是一個(gè)布爾值,確定該序列是否已耗盡。

下面我們來看一個(gè)實(shí)際項(xiàng)目中使用的簡(jiǎn)單迭代器示例:

在上述示例中,我們實(shí)現(xiàn)了一個(gè) LinkedList 數(shù)據(jù)結(jié)構(gòu),它內(nèi)部使用一個(gè)數(shù)據(jù)數(shù)組。數(shù)組中的每個(gè)項(xiàng)目都有一個(gè)值和一些特定于實(shí)現(xiàn)的屬性,用于確定其在序列中的位置。默認(rèn)情況下,從這個(gè)類構(gòu)造的對(duì)象是不可迭代的。為了定義迭代器,我們使用 Symbol.iterator 并對(duì)其進(jìn)行設(shè)置,以便返回的序列基于類的內(nèi)部實(shí)現(xiàn)按順序排列,而返回的項(xiàng)只返回其值。

此外,迭代器只是函數(shù),這意味著它們可以像任何其他函數(shù)一樣被調(diào)用(例如,將迭代委托給現(xiàn)有迭代器),同時(shí)也不限于 Symbol.iterator 名稱。這允許我們?yōu)橥粋€(gè)對(duì)象定義多個(gè)迭代器。以下是這些概念發(fā)揮作用的示例:

在這個(gè)示例中,我們使用數(shù)據(jù)對(duì)象的本地?cái)?shù)組迭代器使 SpecialList 可迭代,返回?cái)?shù)據(jù)數(shù)組的確切值。同時(shí),我們還定義了一個(gè) values() 方法,它本身也是一個(gè)迭代器,在數(shù)據(jù)數(shù)組上使用 Array.prototype.filter()Array.prototype.map()。最后,我們返回結(jié)果的 Symbol.iterator,允許僅對(duì)序列中的非空對(duì)象進(jìn)行迭代,并僅返回每個(gè)對(duì)象的值。

Javascript迭代器的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
五寨县| 乌海市| 个旧市| 通城县| 本溪| 新乐市| 抚顺市| 当涂县| 樟树市| 山东省| 泰和县| 福清市| 永吉县| 岢岚县| 木里| 北京市| 贵南县| 独山县| 增城市| 德庆县| 许昌市| 白山市| 湘西| 黎平县| 濮阳市| 鄂伦春自治旗| 田东县| 莱阳市| 武邑县| 苍溪县| 丽水市| 措美县| 青田县| 遂溪县| 方正县| 剑河县| 周至县| 偃师市| 尉犁县| 浦江县| 云浮市|