ES6數組構造函數Array新增兩個構造函數方法:Array.of() Array.from()
Array.of用于將參數依次轉化為數組中的一項,然后返回這個新數組,而不管這個參數是數字還是其它。它基本上與Array構造器功能一致,唯一的區別就在單個數字參數的處理上。如下:
Array.of(8.0)//[8]
Array(8.0)//[undefined × 8]
Array.from(arrayLike[, processingFn[, thisArg]])從一個類似數組的可迭代對象創建一個新的數組實例,也就是說只要對象有迭代器,Array.from都能把他轉換成一個新的數組(不改變原來對象),Array.from有三個形參,第一個是為類似數組的對象,必選,第二個是加工函數,新生成的數組會經過該函數加工再返回,第三個參數是this的作用域,表示加工函數執行時this的值,后兩個參數不是必選
var obj={0:'a',1:'b',2:'c',length:3}
Array.from(obj,function(value,index){
return value.repeat(2) //輸出 ['aa','bb','cc']
},obj)
注意點:加工函數必須有返回值,有兩個參數,第一個是迭代器當前元素值,第二個是其索引
省略this作用域時可以簡寫加工函數Array.from(obj,(v)=>value.repeat(2))