1. 程式人生 > >Array.of()方法

Array.of()方法

Array.of()方法用於將一組值,轉換為陣列。

  1. Array.of(3,11,8)// [3,11,8]
  2. Array.of(3)// [3]
  3. Array.of(3).length // 1

這個方法的主要目的,是彌補陣列建構函式Array()的不足。因為引數個數的不同,會導致Array()的行為有差異。

  1. Array()// []
  2. Array(3)// [, , ,]
  3. Array(3,11,8)// [3, 11, 8]

上面程式碼中,Array方法沒有引數、一個引數、三個引數時,返回結果都不一樣。只有當引數個數不少於 2 個時,Array()才會返回由引數組成的新陣列。引數個數只有一個時,實際上是指定陣列的長度。

Array.of()

方法基本上可以用來替代Array()new Array(),並且不存在由於引數不同而導致的過載。它的行為非常統一。

  1. Array.of()// []
  2. Array.of(undefined)// [undefined]
  3. Array.of(1)// [1]
  4. Array.of(1,2)// [1, 2]

Array.of()方法總是返回引數值組成的陣列。如果沒有引數,就返回一個空陣列。

Array.of()方法可以用下面的程式碼模擬實現。

  1. functionArrayOf(){
  2. return[].slice.call(arguments);
  3. }