Array() 构造函数

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

Array() 构造函数用于创建 Array 对象。

语法

js
new Array()
new Array(element1)
new Array(element1, element2)
new Array(element1, element2, /* …, */ elementN)
new Array(arrayLength)

Array()
Array(element1)
Array(element1, element2)
Array(element1, element2, /* …, */ elementN)
Array(arrayLength)

注意: Array() 既可以单独调用,也可以使用 new 关键字调用。两者都会创建一个新的 Array 实例。

参数

element1, …, elementN

JavaScript 数组会使用提供的元素进行初始化,除非向 Array 构造函数传递了单个参数,并且该参数是一个数字(参见下方的 arrayLength 参数)。请注意,这种情况仅适用于使用 Array 构造函数创建的 JavaScript 数组,而不适用于使用方括号语法创建的数组字面量。

arrayLength

如果传递给 Array 构造函数的唯一参数是一个介于 0 和 232 - 1(包含)之间的整数,则返回一个新的 JavaScript 数组,其 length 属性设置为该数字。

注意: 这意味着该数组包含 arrayLength 个空槽,而不是实际包含 undefined 值的槽 — 请参阅 稀疏数组

异常

RangeError

如果只有一个参数(arrayLength)且该参数是数字,但其值不是整数,或者不在 0 和 232 - 1(包含)之间,则会抛出错误。

示例

数组字面量表示法

可以使用 字面量 表示法创建数组。

js
const fruits = ["Apple", "Banana"];

console.log(fruits.length); // 2
console.log(fruits[0]); // "Apple"

带单个参数的 Array 构造函数

可以使用带单个数字参数的构造函数创建数组。数组创建后,其 length 属性将设置为该数字,数组元素为空槽。

js
const arrayEmpty = new Array(2);

console.log(arrayEmpty.length); // 2
console.log(arrayEmpty[0]); // undefined; actually, it is an empty slot
console.log(0 in arrayEmpty); // false
console.log(1 in arrayEmpty); // false
js
const arrayOfOne = new Array("2"); // Not the number 2 but the string "2"

console.log(arrayOfOne.length); // 1
console.log(arrayOfOne[0]); // "2"

带多个参数的 Array 构造函数

如果向构造函数传递了多个参数,则会创建一个包含这些给定元素的新 Array

js
const fruits = new Array("Apple", "Banana");

console.log(fruits.length); // 2
console.log(fruits[0]); // "Apple"

规范

规范
ECMAScript® 2026 语言规范
# sec-array-constructor

浏览器兼容性

另见