在 JavaScript 中,您可能需要创建或声明一个特定长度的数组,并在数组中插入您想要的值。它可以使用不同的方式来实现。
以下是在 JavaScript 中创建特定长度数组的一些最常用的方法。现在只在您认为有需要的情况下使用它,因为大多数时候,不需要创建或声明特定长度的数组;您可以动态创建一个数组并使用它。
目录
1.Array()在JavaScript中使用构造函数创建一个长度数组
2.apply()使用JavaScript中的方法创建一个长度数组
3.map()使用JavaScript中的方法创建一个长度数组
5.fill()使用JavaScript中的方法创建一个长度列表
1.Array()在JavaScript中使用构造函数创建一个长度数组
创建特定长度的空数组的第一种方法是使用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" ]
2.apply()使用JavaScript中的方法创建一个长度数组
构造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
3.map()使用JavaScript中的方法创建一个长度数组
创建特定长度数组的另一种方法是使用map()
JavaScript 中的方法。在这里,Array(5)
构造函数将创建一个长度为 5 的空数组。这与我们之前看到的类似。然后使用展开运算符...
,我们将展开数组的每个元素并将其括在一个方括号中,如下所示[...Array(5)]
。它将创建一个长度为 5 的数组,其中每个元素的值为undefine
. 然后初始化这个数组,我们将使用该map()
方法。
[...Array(5)].map(x => 0);
输出:
[0, 0, 0, 0, 0]
使用该map()
方法,我们将获取x
变量中的每个元素,然后为其添加值零。这会将数组的所有元素初始化为零
5.fill()使用JavaScript中的方法创建一个长度列表
该fill方法的工作方式也与此相同map()
;唯一的问题是fill()
不接受任何函数作为参数。它直接将一个值作为输入。您可以创建一个特定长度的数组Array(5)
,然后用一些整数值填充该数组,如下所示。
Array(5).fill(0);
输出
// [0, 0, 0, 0, 0]