[toc]
支持创建任何数据类型的数组。
## 语法
~~~
arrayObj = new Array()
arrayObj = new Array([size])
arrayObj = new Array([element0[, element1[, ...[, elementN]]]])
~~~
## 参数
### arrayObj
必需。 Array 对象分配到的变量名称。
### size
可选。 数组大小。 当数组基于零时,所创建的元素将具有从零到 size -1 的索引。
### element0,...,elementN
可选。 要置于数组中的元素。 这将创建一个具有 n + 1 个元素且 length 为 n + 1 的数组。 一旦使用此语法,你必须提供多个元素。
## 备注
在创建数组后,你可以通过使用 [ ] 表示法来访问数组的各个元素。 注意,JavaScript 中的数组是从零开始的。
~~~
var my_array = new Array();
for (i = 0; i < 10; i++) {
my_array[i] = i;
}
x = my_array[4];
document.write(x);
// Output: 4
~~~
你可以将无符号 32 位整数传递到 Array 构造函数以指定数组的大小。 如果该值为负或不是整数,则会发生运行时错误。 如果你运行以下代码,则应会看到控制台中出现此错误。
~~~
var arr = new Array(10);
document.write(arr.length);
// Output: 10
// Don't do this
var arr = new Array(-1);
arr = new Array(1.50);
~~~
如果将单个值传递到 Array 构造函数,并且该值不是数字,则将 length 属性设置为 1,并且唯一元素的值将成为单个传入的参数。
~~~
var arr = new Array("one");
document.write(arr.length);
document.write("<br/>");
document.write(arr[0]);
// Output:
1
one
~~~
JavaScript 数组是稀疏数组,即,并非数组内的所有元素都可能包含数据。 在 JavaScript 中,数组中仅存在实际包含数据的元素。 这将减少数组所使用的内存量。
## 要求
在以下文档模式中受支持:Quirks、Internet Explorer 6 标准模式、Internet Explorer 7 标准模式、Internet Explorer 8 标准模式、Internet Explorer 9 标准模式、Internet Explorer 10 标准模式和 Internet Explorer 11 标准模式。 此外,也在应用商店应用(Windows 8 和 Windows Phone 8.1)中受支持。
更高版本中已引入以下列表中的某些成员。 有关详细信息,请参阅 JavaScript 版本信息或单个成员对应的文档。
## 属性
下表列出了 Array 对象的属性。
|属性|描述|
|----|----|
|constructor属性|指定创建数组的函数。|
|length 属性(数组)|返回一个整数值,此整数比数组中所定义的最高位元素大 1。|
|prototype 属性|返回对数组的原型的引用。|
## 函数
下表介绍了 Array 对象的函数。
|函数|描述|
|----|----|
|Array.from 函数|从类似数组的对象或可迭代的对象返回一个数组。|
|Array.isArray 函数|返回一个布尔值,该值指示对象是否为数组。|
|Array.of 函数|从传入的参数返回一个数组。|
## 方法
下表列出了 Array 对象的方法。
|方法|描述|
|----|----|
|concat 方法(数组)|返回由两个数组组合而成的新数组。|
|entries 方法|返回包含数组的键/值对的迭代器。|
|every 方法|检查定义的回调函数是否为数组中的所有元素返回 true。|
|fill 方法|使用指定值填充数组。|
|filter 方法|对数组的每个元素调用定义的回调函数,并返回回调函数为其返回 true 的值的数组。|
|findIndex 方法|返回满足回调函数中指定的测试条件的第一个数组元素的索引值。|
|forEach 方法|为数组中的每个元素调用定义的回调函数。|
|hasOwnProperty 方法|返回一个布尔值,该值指示某个对象是否具有指定名称的属性。|
|indexOf 方法(数组)|返回某个值在数组中的第一个匹配项的索引。|
|isPrototypeOf 方法|返回一个布尔值,该值指示某个对象是否存在于另一个对象的原型链中。|
|join 方法|返回由一个数组的所有元素串联而成的 String 对象。|
|keys 方法|返回包含数组的索引值的迭代器。|
|lastIndexOf 方法(数组)|返回指定值在数组中的最后一个匹配项的索引。|
|map 方法|对数组的每个元素调用定义的回调函数并返回包含结果的数组。|
|pop 方法|从数组中移除最后一个元素并将该元素返回。|
|propertyIsEnumerable 方法|返回一个布尔值,该值指示指定属性是否为对象的一部分且是否可枚举。|
|push 方法|将新元素追加到一个数组中,并返回数组的新长度。|
|reduce 方法|通过对数组中的所有元素调用定义的回调函数来累积单个结果。 回调函数的返回值是累积的结果,并且作为对回调函数的下一个调用中的参数提供。 |
|reduceRight 方法|通过对数组中的所有元素调用定义的回调函数来按降序顺序累积单个结果。 回调函数的返回值是累积的结果,并且作为对回调函数的下一个调用中的参数提供。 |
|reverse 方法|将元素顺序被反转的 Array 对象返回。|
|shift 方法|从数组中移除第一个元素并将返回该元素。|
|slice 方法(数组)|返回一个数组中的一部分。|
|some 方法|检查定义的回调函数是否为数组的任何元素返回 true。|
|sort 方法|返回一个元素已经进行了排序的 Array 对象。|
|splice 方法|从一个数组中移除元素,如有必要,在所移除元素的位置上插入新元素,并返回所移除的元素。|
|toLocaleString 方法|返回使用当前区域设置的字符串。||
|toString 方法|返回数组的字符串表示形式。|
|unshift 方法|在数组的开头插入新元素。|
|valueOf 方法|获取对数组的引用。|
|values 方法|返回包含数组的值的迭代器。|
- ActiveXObject对象
- Array对象
- constructor属性
- length属性
- prototype属性
- Array.from函数
- Array.isArray函数
- Array.of函数
- concat方法
- entries方法
- every方法
- fill方法
- filter方法
- findIndex方法
- forEach方法
- indexOf方法
- join方法
- keys方法
- lastIndexOf方法
- map方法
- pop方法
- push方法
- reduce方法
- reduceRight方法
- reverse方法
- shift方法
- slice方法
- some方法
- sort方法
- splice方法
- toString方法
- unshift方法
- valueOf方法
- values方法
- ArrayBuffer对象
- byteLength属性
- ArrayBuffer.isView函数
- slice方法
- arguments对象
- 0...n 属性(参数)
- callee 属性(参数)
- length 属性 (arguments)
- Boolean对象
- constructor 属性(布尔值)
- prototype 属性(布尔值)
- toString 方法 (Boolean)
- valueOf 方法 (Boolean)
- DataView对象
- buffer属性 (DataView)
- byteLength属性(DataView)
- byteOffset属性(DataView)
- getInt8方法(DataView)
- getUint8方法(DataView)
- getInt16方法(DataView)
- getUint16方法(DataView)
- getInt32方法(DataView)
- getUint32方法(DataView)
- getFloat32方法(DataView)
- getFloat64方法(DataView)
- setInt8方法(DataView)
- setUint8方法(DataView)
- setInt16方法(DataView)
- setUint16方法(DataView)
- setInt32方法(DataView)
- setUint32方法(DataView)
- setFloat32方法(DataView)
- setFloat64方法(DataView)
- Date对象
- Debug对象
- Enumerator对象
- Error对象
- Float32Array对象
- Float64Array对象
- Function对象
- Global对象
- Int8Array对象
- Int16Array对象
- Int32Array对象
- Intl.Collator对象
- Intl.DateTimeFormat对象
- Intl.NumberFormat对象
- JSON对象
- Map对象
- Math对象
- Number对象
- Object对象
- Promise对象
- 代理对象
- Reflect对象
- RegExp对象
- 正则表达式对象
- Set对象
- String对象
- 符号对象
- Uint8Array对象
- Uint8ClampedArray对象
- Uint16Array对象
- Uint32Array对象
- VBArray对象
- WeakMap对象
- WeakSet对象
- WinRTError对象