[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對象