Array.of()方法的使用:
Array.of()方法用於將一組數值轉換為數組,舉例:
const a = Array.of(2,4,6,8); console.log(a); // [2,4,6,8]
const b = Array.of(1); console.log(b); // [1]
const c = Array.of(1).length; console.log(c); // 1
這個方法的主要目的是為了彌補數組構造函數Array()的的不足。因為參數個數的不同會導致Array()的行為有一些差異。 舉例:
const aa = Array(); console.log(aa); // []
const bb = Array(3); console.log(bb); // [, , ,]
const cc = Array(2,4,6,8); console.log(cc); // [2,4,6,8]
上面代碼中,Array()方法沒有參數、只有一個參數或有多個參數時,返回的結果是都不一樣的。只有當參數個數不少於2個時,Array()才會返回由參數組成的新數組。參數個數只有1個時,實際上是指定了數組的長度。
Array.of()基本上可以用來替代Array()或者new Array(),並且不存在由於參數個數的不同而導致的重載,它的行為非常統一。
const aaa = Array.of(); console.log(aaa); // []
const bbb = Array.of(1); console.log(bbb); // [1]
const ccc = Array.of(1,2); console.log(ccc); // [1,2]
const ddd = Array.of(undefined); console.log(ddd); // [undefined]
Array.of()總是返回一個由參數值組成的數組,如果沒有參數就會返回一個空數組。
Array.of()可以用以下的代碼模擬實現:
function ArrayOf() { return [].slice.call(arguments); }
