共用方式為


陣列宣告

更新:2007 年 11 月

當在 JScript 中具有所有的資料時,變數可以儲存陣列。型別附註可以指定變數必須含有陣列物件或型別陣列,但是不提供初始陣列。如果要在變數中儲存陣列,您必須「宣告」一個陣列並設定到該變數。

宣告 JScript 陣列物件會建立新的 Array 物件,而宣告型別陣列則會保留一個足以儲存陣列每個元素的記憶體區段。使用 new 運算子來明確地建構一個新陣列或使用陣列常值,都可以宣告這兩種陣列型別。

使用 new 運算子的陣列宣告

若要宣告新的 JScript Array 物件,可以使用具 Array 建構函式的 new 運算子。因為您可以動態地將成員加入到 JScript 陣列,所以不須指定陣列的初始大小。在本範例中,a1 已經指派長度為零的陣列。

var a1 = new Array();

如果要將初始長度設定到以 Array 建構函式所建立的陣列,請傳遞一個常數到陣列建構函式。陣列長度必須為零或正數。下列程式碼將長度為 10 的陣列設定為 a2。

var a2 = new Array(10);

如果將一個以上的參數或單一非實值參數傳遞到 Array 建構函式,則產生的陣列會包含所有參數做為陣列元素。例如,以下程式碼建立一個陣列,其中元素 0 為數字 10、元素 1 為字串 "Hello",元素 2 則為現在日期。

var a3 = new Array(10, "Hello", Date());

new 運算子也可以宣告型別陣列。因為型別陣列無法接受動態加入的元素,宣告必須指定陣列的大小。型別陣列的建構函式在陣列大小的周圍是用方括弧,而不是括號。例如,以下程式碼宣告一個有五個整數的陣列。

var i1 : int[] = new int[5];

new 運算子也可以宣告多維陣列。以下範例宣告一個 3 x 4 x 5 的整數陣列。

var i2 : int[,,] = new int[3,4,5];

宣告陣列的陣列時,在宣告子陣列之前必須先宣告基底陣列;但不能同時宣告它們。這在決定子陣列的大小時提供了彈性。在本範例中,第一個子陣列的長度為 1,第二個的長度為 2,以此類推。

// First, declare a typed array of type int[], and initialize it.
var i3 : int[][] = new (int[])[4];
// Second, initialize the subarrays.
for(var i=0; i<4; i++)
   i3[i] = new int[i+1];

使用陣列常值的陣列宣告

另一個同時宣告並初始化陣列的方法是使用陣列常值。一個陣列常值代表一個 JScript Array。因為 JScript 陣列能與型別陣列互通,但是常值可用來初始化型別陣列。如需詳細資訊,請參閱陣列資料

陣列常值可輕易地初始化一維陣列。請注意,在設定至型別陣列時,編譯器會嘗試將陣列常值的資料轉換成正確型別。在本範例中,會將常值陣列設定到 JScript 陣列和型別陣列。

var al1 : Array = [1,2,"3"];
var il1 : int[] = [1,2,"3"];

陣列常值也可以初始化陣列的陣列。在以下範例中,一個含有兩個整數陣列的陣列會初始化 JScript 陣列和型別陣列。

var al1 : Array = [[1,2,3],[4,5,6]];
var il1 : int[][] = [[1,2,3],[4,5,6]];

陣列常值無法初始化多維型別陣列。

請參閱

概念

陣列資料

JScript Array 物件

參考

new 運算子

其他資源

JScript 陣列