es6新增的Array.of()方法
阿新 • • 發佈:2019-01-12
Array.of()方法
Array.of() 方法用於將一組值,轉換為陣列。
Array.of(3, 11, 8) // [3,11,8]
Array.of(3) // [3]
Array.of(3).length // 1
Array.of總是返回引數值組成的陣列。如果沒有引數,就返回一個空陣列。
這個方法的主要目的,是彌補陣列建構函式Array()的不足。因為引數個數的不同,會導致Array()的行為有差異
Array() // []
Array(3) // [, , ,]
Array(3, 11, 8) // [3, 11, 8]
如果引數是空值沒區別,
如果是一位引數數值1,Array.of()返回當前值的陣列 [1] ,Array()返回1個空值
如果是一位引數數值3,Array.of()返回當前值的陣列 [3] length是1 ,Array()返回3個空值 length 是 3
如果傳入的是1,2,3,Array.of()和Array()都返回當前值的陣列 [1, 2, 3].
如果傳入的是undefined和null那麼都返回 [ undefined ] 和 [ null ] ;
如果傳入的是NaN Array.of() 返回的是 [ NaN ] , Array()則會報錯
Array.of() //[] Array() //[] Array.of(1) //[1] Array(1) //[empty] == 空值 Array.of(3) // [3] Array(3) /(3) [empty × 3] Array.of(3).length // 1 Array(3).length //3 Array.of(1,2,3) // (3) [1, 2, 3] Array(1,2,3) // (3) [1, 2, 3] Array.of(NaN) //[NaN] Array(NaN) // 報錯
Array.of基本上可以用來替代Array()或new Array(),並且不存在由於引數不同而導致的過載。它的行為非常統一。
Array.of() // []
Array.of(undefined) // [undefined]
Array.of(1) // [1]
Array.of(1, 2) // [1, 2]
語法:
Array.of(element0[, element1[, ...[, elementN]]])
引數:
elementN 一> 任意個引數,將按順序成為返回陣列中的元素。
返回值:
新的陣列例項
相容性:
此方法不相容IE,如果需要相容性用以下程式碼模擬
function ArrayOf(){
return [].slice.call(arguments);
}