最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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)遵守國家法律
惠州市| 华坪县| 安阳县| 吴江市| 中方县| 扬州市| 维西| 灵璧县| 南投县| 乌兰察布市| 禹州市| 自贡市| 观塘区| 怀柔区| 丹江口市| 神木县| 永定县| 托克逊县| 麻江县| 新巴尔虎右旗| 西青区| 松滋市| 城步| 泰州市| 吉木萨尔县| 丹凤县| 张家界市| 同德县| 南澳县| 邹平县| 毕节市| 尉犁县| 荃湾区| 安新县| 临邑县| 湖口县| 松江区| 广灵县| 凤山县| 乌恰县| 平安县|