Array() 构造函数
Array()
构造函数用于创建 Array
对象。
语法
new Array()
new Array(element0)
new Array(element0, element1)
new Array(element0, element1, /* … ,*/ elementN)
new Array(arrayLength)
Array()
Array(element0)
Array(element0, element1)
Array(element0, element1, /* … ,*/ elementN)
Array(arrayLength)
备注: 调用 Array()
时可以使用或不使用 new
。两者都会创建一个新的 Array
实例。
参数
elementN
-
Array
构造函数会根据给定的元素创建一个 JavaScript 数组,但是当仅有一个参数且为数字时除外(详见下面的arrayLength
参数)。注意,后者仅适用于用 Array 构造函数创建数组,而不适用于用方括号创建的数组字面量。 arrayLength
-
如果传递给
Array
构造函数的唯一参数是介于 0 到 232 - 1(含)之间的整数,这将返回一个新的 JavaScript 数组,其length
属性设置为该数字(注意:这意味着一个由arrayLength
个空槽组成的数组,而不是具有实际undefined
值的槽——参见稀疏数组)。
异常
RangeError
-
如果只有一个参数(
arrayLength
)且其值不在 0 到 232 - 1(包括)之间,则会触发异常。
示例
数组字面量
可以通过使用数组字面量创建数组:
const fruits = ["Apple", "Banana"];
console.log(fruits.length); // 2
console.log(fruits[0]); // "Apple"
单个参数的 Array 构造函数
可以通过单个数字参数的构造函数创建数组,数组的长度为传入的参数,该数组不包含任何实际的元素。
const arrayEmpty = new Array(2);
console.log(arrayEmpty.length); // 2
console.log(arrayEmpty[0]); // undefined;实际上是一个空槽
console.log(0 in arrayEmpty); // false
console.log(1 in arrayEmpty); // false
const arrayOfOne = new Array("2"); // 这里是字符串 "2" 而不是数字 2
console.log(arrayOfOne.length); // 1
console.log(arrayOfOne[0]); // "2"
多个参数的 Array 构造函数
如果向构造函数传入多个参数,则会创建一个包含给定元素的新 Array
。
const fruits = new Array("Apple", "Banana");
console.log(fruits.length); // 2
console.log(fruits[0]); // "Apple"
规范
Specification |
---|
ECMAScript Language Specification # sec-array-constructor |
浏览器兼容性
BCD tables only load in the browser