ES6數(shù)組的擴(kuò)展

1.Array.from()

用于將兩類對(duì)象轉(zhuǎn)化為真正的數(shù)組:a.Set數(shù)據(jù)結(jié)構(gòu)和偽數(shù)組(比如:NodeList);b.Map數(shù)據(jù)結(jié)構(gòu)和類似數(shù)組的可遍歷對(duì)象。

...擴(kuò)展運(yùn)算符也具有相同的 功能,除下面提到的轉(zhuǎn)化之外

Array.from({ length:3 })? ? // [ undefined ,undefined ,undefined ] ?擴(kuò)展運(yùn)算符不能對(duì)其進(jìn)行轉(zhuǎn)化

ES5里面可以用Array.prototype.slice.call()方法代替 或者 ?[].slice.cal()

Array.form([1,2,3,4] , (x) => x*2)? //可以接受兩個(gè)參數(shù),第二個(gè)參數(shù)為一個(gè)函數(shù)作用相當(dāng)于map() 方法。如果map()方法中用到了this關(guān)鍵字,還可以向Array。form()傳入第三位參數(shù)用來(lái)綁定this關(guān)鍵字。

Array.from()還可以將字符串轉(zhuǎn)換成數(shù)組。

2.Array.of()

它用于將一組值轉(zhuǎn)換成熟組。

Array.of() ? // [ ]

Array.of(3) ? // ?[ , , , ]

Array.of(3,4,5) ? ? ? // [3,4,5]

3.數(shù)組實(shí)例的copyWithin()

copyWithin(target, start ,end )? ? //[1,2,3,4,5].copyWithin(0,3) ?// [4,5,3,4,5]

4.數(shù)組實(shí)例的find()和findIndex() 方法

他倆的參數(shù)是一個(gè)回調(diào)函數(shù),對(duì)數(shù)組成員依次執(zhí)行回調(diào)函數(shù),直到找出第一個(gè)符合條件的數(shù)組成員,返回該成員,如若沒(méi)有find()方法返回undefined,findIndex()方法返回-1;

注意:這兩個(gè)方法都可以用來(lái)尋找NaN ,彌補(bǔ)了indexOf()方法的不足

5.數(shù)組實(shí)例的fill()方法

[1,2,2].fill(7) ? ?// [7,7,7 ]

[1,2,3,4].fill(7,1,2) ? // [ 1,7,3,4 ]

6.數(shù)組實(shí)例的includes()方法(屬于ES7)

[1,2,3].includes(4) ? ? //false

該方法等價(jià)于indexOf(),只是indexOf()無(wú)法查找NaN。

7.數(shù)組的空位

ES6明確將空位轉(zhuǎn)換成undifined;

ES5的every()/some()/filter()/forEach()都會(huì)忽略空位

map()會(huì)跳過(guò)空位,但保留空位

jion()和toString()將空位視為undefined

8.數(shù)組推導(dǎo)

var a1 = [ 1,2,3,4 ]

var a2 = [ for ( a of a1) ?a*2 ] ? ? ? ? ? ? ? //a2 = [ 2,4,6,8 ]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容