📜  用值创建数组初始化大小 javascript - Javascript (1)

📅  最后修改于: 2023-12-03 15:11:18.362000             🧑  作者: Mango

用值创建数组初始化大小

在Javascript中,我们可以使用Array构造函数或者字面量语法来创建数组,其中字面量语法更为常用,简单。在创建数组时,我们有时候需要指定数组的大小,这时我们可以使用Array构造函数来初始化大小。下面我们来看一下具体的用法。

使用Array构造函数

在Array构造函数中,我们可以传递如下两个参数:

  • 第一个参数表示数组的长度
  • 第二个参数表示要填充数组的默认值,可以省略

例如,我们要创建一个长度为3的数组,每个元素的默认值为0,可以这样做:

const arr1 = new Array(3).fill(0);
console.log(arr1); // [0, 0, 0]

我们也可以省略第二个参数,这时数组中的元素都是undefined:

const arr2 = new Array(3);
console.log(arr2); // [undefined, undefined, undefined]
使用字面量语法

在字面量语法中,我们可以使用如下形式的数组初始化方式:

const arr = Array(length).fill(defaultValue);

例如,我们要创建一个长度为3的数组,每个元素的默认值为1,可以这样做:

const arr = Array(3).fill(1);
console.log(arr); // [1, 1, 1]

同样地,我们也可以省略defaultValue,此时数组中元素的值为undefined:

const arr = Array(3);
console.log(arr); // [undefined, undefined, undefined]
注意事项

需要注意的是,初始化数组大小时,使用字面量语法比使用Array构造函数更好。因为字面量语法更加简单易懂,同时在性能方面也更有优势。例如,我们要创建一个长度为10000的数组:

const arr1 = new Array(10000);
const arr2 = Array(10000);

console.time('new Array');
for(let i = 0; i < arr1.length; i ++){}
console.timeEnd('new Array'); // 大约需要10ms

console.time('Array');
for(let i = 0; i < arr2.length; i ++){}
console.timeEnd('Array'); // 大约需要0.4ms

从以上代码中可以看出,使用字面量语法创建数组,在遍历数组时,比使用Array构造函数创建数组快得多。因此,在实际开发中,我们应该尽可能地使用字面量语法来创建数组。