Array 物件

對任何資料型別的 expando 陣列提供支援。 Array 建構函式 (Constructor) 有三種形式。

function Array( [size : int] )
function Array( [... varargs : Object[]] ) 
function Array( [array : System.Array )

引數

  • size
    選擇項。 陣列的大小。 由於陣列是以零起始,所以建立元素的索引是從零到 size -1。

  • varargs
    選擇項。 具型別陣列,包含所有傳入建構函式的參數。 這些參數是用來做為陣列的第一個元素。

  • array
    選擇項。 複製到建構陣列的陣列。

備註

如果只有一個引數傳入 Array 建構函式而且該引數是數字,則該引數必須是不帶正負號的 32 位元整數 (任何小於約四十億的整數)。 傳入值是陣列的大小。 如果值是小於零或非整數的數字,則會發生執行階段錯誤。

System.Array 資料型別的變數可以傳入 Array 建構函式。 這將產生一個 JScript 陣列,它是輸入陣列的複本。 System.Array 只能具有一個維度 (Dimension)。

如果只有一個值傳入 Array 建構函式而且它不是數字或陣列,則陣列的 length 屬性會設為 1,而且陣列第一個元素 (元素 0) 的值會成為單一的傳入引數。 如果有許多引數傳入建構函式,則陣列的長度會設為引數的個數,而且這些引數會成為新陣列裡的第一個元素。

請注意 JScript 陣列是稀疏陣列;也就是說,雖然您可以配置具有許多元素的陣列,但是只有實際包含資料的元素會存在。 這會減少陣列所需要的記憶體量。

Array 物件與 System.Array 資料型別相互操作。 因此,Array 物件可以呼叫 System.Array 資料型別的方法和屬性,而 System.Array 資料型別可以呼叫 Array 物件的方法和屬性。 更甚者,接受 System.Array 資料型別的函式可以接受 Array 物件,反之亦然。 如需詳細資訊,請參閱 Array 成員

Array 物件傳入接受 System.Array 的函式或是從 Array 物件呼叫 System.Array 方法時,會複製 Array 的內容。 因此,原始 Array 物件不能由 System.Array 方法修改,或傳遞給接受 System.Array 的函式加以修改。 只有不具破壞性的 Array 方法可以在 System.Array 上呼叫。

秘訣秘訣

當您想要一個泛型堆疊或項目清單,且效能不是最重要的考量時,Array 物件就能提供便利的方法。 在其他所有 Context 中,應該要使用具型別陣列資料型別。 具型別陣列擁有許多與 Array 物件相同的功能,也提供型別安全 (Type Safety)、效能改善,並且與其他語言有較好的互動。

注意事項注意事項

在 JScript 內的 Array 物件,可以與 .NET Framework System.Array 資料型別相互操作。 但是其他 Common Language Specification (CLS) 語言無法使用 Array 物件,因為只有 JScript 提供這個物件;它不是繼承自 .NET Framework 型別。 因此,當您為符合 CLS 標準方法的參數和傳回型別加註型別時,請務必使用 System.Array 資料型別而不要使用 Array 物件。 但是,您可以使用 Array 物件,為參數或傳回型別 (Return Type) 以外的識別項加註型別。 如需詳細資訊,請參閱撰寫符合 CLS 標準的程式碼

範例

陣列的個別元素可以使用 [ ] 標記法來存取。 例如:

var my_array = new Array();
for (var i = 0; i < 10; i++) {
   my_array[i] = i;
}
var x = my_array[4];

因為 Microsoft JScript 中的陣列都是以零起始,所以上述範例裡的最後一個陳述式會存取陣列的第五個元素。 此元素包含值 4。

屬性和方法

Array 物件屬性和方法

需求

2 版

請參閱

參考

new 運算子

概念

具型別陣列