在 JavaScript 中建立特定長度的陣列

  1. 在 JavaScript 中使用 Array() 建構函式建立一個長度陣列
  2. 使用 JavaScript 中的 apply() 方法建立一個長度陣列
  3. 使用 JavaScript 中的 map() 方法建立長度陣列
  4. 使用 JavaScript 中的 fill() 方法建立一個固定長度陣列

在 JavaScript 中,你可能需要建立或宣告一個特定長度的陣列,並在陣列中插入所需的值。它可以使用不同的方式來實現。

下面是一些在 JavaScript 中建立特定長度陣列的最常用方法。現在只在你認為需要的情況下使用它,因為大多數情況下,不需要建立或宣告特定長度的陣列;你可以動態建立一個陣列並使用它。

在 JavaScript 中使用 Array() 建構函式建立一個長度陣列

建立特定長度的空陣列的第一種方法是使用 Array() 建構函式並將整數作為引數傳遞給它。由於我們正在呼叫建構函式,因此我們將使用 new 關鍵字。

var arr = new Array(5);
console.log(arr)

輸出:

[undefined, undefined, undefined, undefined, undefined]

如果你使用 JSlint,不推薦這種建立特定長度陣列的方式,因為它可能會導致問題。由於這種方式是模稜兩可的,它不僅建立特定長度的陣列,還可以用於執行其他操作,例如建立包含值的陣列,如下所示。

var arr_2 = new Array('5');
console.log(arr_2)

輸出:

[ "5" ]

使用 JavaScript 中的 apply() 方法建立一個長度陣列

Array 建構函式提供了一個名為 apply() 的方法。使用這個 apply() 方法,你可以以陣列的形式為方法提供引數。apply() 方法有兩個引數,第一個是對 this 引數的引用,第二個是陣列。

var myArr = Array.apply(null, Array(5));
console.log(myArr);

輸出:

[undefined, undefined, undefined, undefined, undefined]

要建立一個特定長度的空陣列,假設為 5,我們將傳遞 null 作為第一個引數,第二個引數是陣列 Array(5)。這將建立一個長度為 5 的陣列,並使用 undefined 值初始化每個元素。

或者,你也可以執行以下操作。在這裡,你可以傳遞一個陣列物件作為第二個引數,然後在其中定義要建立的陣列的長度,在本例中為 5

var arr = Array.apply( null, { length: 5 } );
console.log(arr);
console.log(arr.length);

輸出:

[undefined, undefined, undefined, undefined, undefined]
5

使用 JavaScript 中的 map() 方法建立長度陣列

另一種建立特定長度陣列的方法是使用 JavaScript 中的 map() 方法。在這裡,Array(5) 建構函式將建立一個長度為 5 的空陣列。這與我們之前看到的類似。然後使用擴充套件運算子 ...,我們將擴充套件陣列的每個元素並將其括在一個像這樣的方括號內 [...Array(5)]。它將建立一個長度為 5 的陣列,其中每個元素的值都是 undefine。然後為了初始化這個陣列,我們將使用 map() 方法。

[...Array(5)].map(x => 0);

輸出:

[0, 0, 0, 0, 0]

使用 map() 方法,我們將獲取 x 變數中的每個元素,然後向其新增值零。這會將陣列的所有元素初始化為零。

使用 JavaScript 中的 fill() 方法建立一個固定長度陣列

fill() 方法的工作方式也與 map() 相同;唯一的問題是 fill() 不接受任何函式作為引數。它直接將一個值作為輸入。你可以建立一個特定長度的陣列 Array(5),然後用一些整數值填充該陣列,如下所示。

Array(5).fill(0);
// [0, 0, 0, 0, 0]

相關文章 - JavaScript Array

  • 在 JavaScript 中將元素追加到陣列中
  • JavaScript 宣告空陣列