陣列用法

JScript 中可以使用數種陣列型別。 以下資訊解釋其中某些陣列的用法,以及為特定應用程式選擇適當陣列的方法。

一維陣列

以下範例說明存取 addressBook 陣列的第一個和最後一個元素的方法。 這是假設指令碼的其他部分會定義 addressBook 並為其指派值。 因為在 JScript 中陣列以零開始編輯索引,所以陣列的第一個元素為零,而最後一個元素是陣列的長度減一。

var firstAddress = addressBook[0];
var lastAddress = addressBook[addressBook.length-1];

陣列的陣列與多維陣列的比較

您可以在陣列的陣列或多維陣列中儲存資料,並以多個索引值參考資料。 每個陣列型別都有獨特的功能。

當應用程式的每個子陣列有不同長度時,陣列的陣列也就特別有用。 子陣列可以輕易地重新組織,這有助於陣列元素的排序。 月曆是一個典型用法的範例,Year 陣列儲存十二個 Month 陣列,而每個 Month 陣列儲存對應天數的資料。

如果應用程式在宣告時就知道每個維度的陣列大小,此時多維陣列會特別有用。 多維陣列在速度與記憶體使用方面的表現優於陣列的陣列。 多維陣列一定是具型別陣列。 一個典型用法的範例是數學計算上的矩陣,因為在一開始就知道其大小固定的陣列。

在 JScript 陣列元素上使用迴圈

因為 JScript 陣列是疏鬆的,一個陣列在第一個和最後一個元素之間可能有許多未定義的元素。 這表示如果你用 for 迴圈來存取陣列元素,可能要檢查每個元素是否為未定義

幸好,JScript 提供一個 for...in 迴圈,讓您輕易地只存取 JScript 陣列的已定義元素。 下列範例定義一個疏鬆的 JScript 陣列,然後使用 for 迴圈和 for...in 迴圈顯示其元素。

var a : Array = new Array;
a[5] = "first element";
a[100] = "middle element";
a[100000] = "last element";
print("Using a for loop. This is very inefficient.")
for(var i = 0; i<a.length; i++)
   if(a[i]!=undefined)
      print("a[" + i + "] = " + a[i]);
print("Using a for...in loop. This is much more efficient.");
for(var i in  a)
   print("a[" + i + "] = " + a[i]);

本程式的輸出為:

Using a for loop. This is very inefficient.
a[5] = first element
a[100] = middle element
a[100000] = last element
Using a for...in loop. This is much more efficient.
a[5] = first element
a[100] = middle element
a[100000] = last element

請參閱

參考

for...in 陳述式

概念

陣列的陣列

多維陣列 (Visual Studio - JScript)

其他資源

JScript 陣列