亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

es6數(shù)組的flat(),flatMap()函數(shù)用法實(shí)例分析

 更新時(shí)間:2020年04月18日 11:05:23   作者:wangliang_001  
這篇文章主要介紹了es6數(shù)組的flat(),flatMap()函數(shù)用法,結(jié)合實(shí)例形式分析了es6數(shù)組的flat(),flatMap()函數(shù)基本功能、使用方法及操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了es6數(shù)組的flat(),flatMap()函數(shù)用法。分享給大家供大家參考,具體如下:

數(shù)組的成員有時(shí)還是數(shù)組,Array.prototype.flat()用于將嵌套的數(shù)組“拉平”,變成一維數(shù)組。該方法返回一個(gè)新數(shù)組,對(duì)原數(shù)據(jù)沒(méi)有影響。

[1, 2, [3, 4]].flat()
// [1, 2, 3, 4]

上面代碼中,原數(shù)組的成員里面有一個(gè)數(shù)組,flat()方法將子數(shù)組的成員取出來(lái),添加在原來(lái)的位置。

flat()默認(rèn)只會(huì)“拉平”一層,如果想要“拉平”多層的嵌套數(shù)組,可以將flat()方法的參數(shù)寫(xiě)成一個(gè)整數(shù),表示想要拉平的層數(shù),默認(rèn)為1。

[1, 2, [3, [4, 5]]].flat()
// [1, 2, 3, [4, 5]]
[1, 2, [3, [4, 5]]].flat(2)
// [1, 2, 3, 4, 5]

上面代碼中,flat()的參數(shù)為2,表示要拉平兩層的嵌套數(shù)組。

如果不管有多少層嵌套,都要轉(zhuǎn)成一維數(shù)組,可以用Infinity關(guān)鍵字作為參數(shù)。

[1, [2, [3]]].flat(Infinity)
// [1, 2, 3]

如果原數(shù)組有空位,flat()方法會(huì)跳過(guò)空位。

[1, 2, , 4, 5].flat()
// [1, 2, 4, 5]

flatMap()方法對(duì)原數(shù)組的每個(gè)成員執(zhí)行一個(gè)函數(shù),相當(dāng)于執(zhí)行Array.prototype.map(),然后對(duì)返回值組成的數(shù)組執(zhí)行flat()方法。該方法返回一個(gè)新數(shù)組,不改變?cè)瓟?shù)組。

// 相當(dāng)于 [[2, 4], [3, 6], [4, 8]].flat()
[2, 3, 4].flatMap((x) => [x, x * 2])
// [2, 4, 3, 6, 4, 8]

flatMap()只能展開(kāi)一層數(shù)組。

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼運(yùn)行效果。

更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專(zhuān)題:《javascript面向?qū)ο笕腴T(mén)教程》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論