Array() 构造函数
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
语法
¥Syntax
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)
注意:可以使用或不使用
new
来调用Array()
。两者都会创建一个新的Array
实例。¥Note:
Array()
can be called with or withoutnew
. Both create a newArray
instance.
参数
¥Parameters
element1
, …,elementN
-
JavaScript 数组使用给定元素进行初始化,除非将单个参数传递给
Array
构造函数并且该参数是数字(请参阅下面的arrayLength
参数)。请注意,这种特殊情况仅适用于使用Array
构造函数创建的 JavaScript 数组,而不适用于使用方括号语法创建的数组文字。 arrayLength
-
如果传递给
Array
构造函数的唯一参数是 0 到 2 之间的整数32 - 1(含),这将返回一个新的 JavaScript 数组,其length
属性设置为该数字(注意:这意味着arrayLength
空槽的数组,而不是具有实际undefined
值的槽 - 请参阅 稀疏数组)。
例外情况
示例
数组字面量表示法
具有单个参数的数组构造函数
¥Array constructor with a single parameter
可以使用带有单个数字参数的构造函数创建数组。创建一个数组,其 length
属性设置为该数字,并且数组元素是空槽。
¥Arrays can be created using a constructor with a single number parameter. An array is created with
its length
property set to that number, and the array elements are empty
slots.
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
const arrayOfOne = new Array("2"); // Not the number 2 but the string "2"
console.log(arrayOfOne.length); // 1
console.log(arrayOfOne[0]); // "2"
具有多个参数的数组构造函数
¥Array constructor with multiple parameters
如果将多个参数传递给构造函数,则会创建一个具有给定元素的新 Array
。
¥If more than one argument is passed to the constructor, a new Array
with
the given elements is created.
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