📅  最后修改于: 2023-12-03 15:11:18.362000             🧑  作者: Mango
在Javascript中,我们可以使用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构造函数创建数组快得多。因此,在实际开发中,我们应该尽可能地使用字面量语法来创建数组。