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 ]