第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開發(fā)者教程

ES6+ Array.of()

1. 前言

本節(jié)介紹 ES6 的數(shù)組的新增方法 Array.of() 該方法創(chuàng)建一個具有可變數(shù)量參數(shù)的新數(shù)組實例,而不考慮參數(shù)的數(shù)量或類型。Array.of() 主要是彌補數(shù)組構(gòu)造函數(shù) Array() 的不足。因為參數(shù)個數(shù)的不同,導(dǎo)致 Array() 的重載,Array.of 不存在由于參數(shù)不同而導(dǎo)致的重載,并且基本上可以用來替代 Array()new Array()。

2. 方法詳情

2.1 基本語法

Array.of() 是創(chuàng)建數(shù)組的方法,它接收若干個參數(shù),返回一個新的 Array 實例,類似 Array() 方法。

語法使用:

Array.of(element0[, element1[, ...[, elementN]]])

參數(shù)解釋:

參數(shù) 描述
elementN 數(shù)組元素,可以是任意個參數(shù),將按順序成為返回數(shù)組中的元素

2.2 基本實例

Array.of() 會按順序接受 N 個參數(shù),接收的所有參數(shù)都會成為新數(shù)組的項。

Array.of(7);          // [7] 
Array.of(1, 2, 3);    // [1, 2, 3]
Array.of(undefined)   // [undefined]
Array.of(3).length    // 1

3. 對比 Array()

Array.of 的主要作用是彌補 Array() 的不足的,下面我們來看看他們有什么不同。

Array() 會根據(jù)接收的參數(shù)不同從而返回不同的數(shù)組,例如:

Array()               // []
Array(3)              // [, , ,]
Array(2, 12)          // [2, 12]

Array.of()            // []
Array.of(3)           // [3]
Array.of(2, 12, 'a')  // [2, 12, "a"]

Array 方法在沒有參數(shù)、一個參數(shù)、兩個參數(shù)時,返回結(jié)果都不一樣。

  • 沒有參數(shù)的時候返回一個空數(shù)組;
  • 有一個參數(shù)的時候,返回一個長度為此參數(shù)的空數(shù)組,并且此數(shù)組不能被迭代;
  • 有兩個參數(shù)的時候,才會把參數(shù)當(dāng)成數(shù)組的每一項返回;

由于參數(shù)的不同 Array 方法會進行重載,而且他們的行為也不一致,Array.of() 方法總會創(chuàng)建一個包含所有傳入?yún)?shù)的數(shù)組,而不管參數(shù)的數(shù)量與類型。

4. 擴展

如果原生不支持的話,可以手動實現(xiàn)一個 Array.of() 方法。

if (!Array.of) {
  Array.of = function() {
    return Array.prototype.slice.call(arguments);
  };
}

使用 Arrayslice 方法把接收到的 arguments 參數(shù),轉(zhuǎn)化成數(shù)組的每一項。

5. 小結(jié)

本章講解了 ES6 的 Array.of() 方法,該方法用于創(chuàng)建數(shù)組,主要為了替換 Array() 方法,彌補 Array() 方法的不足。