语法
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 |
浏览器兼容性
加载中…