陣列概觀

陣列使用一個變數來收集許多的資料片段。 可使用一個單一索引編號 (用在一維陣列) 或多個索引編號 (用在陣列的陣列或多維陣列) 來參考陣列中的資料。 使用後面方括弧 ([]) 中帶有陣列索引的陣列識別項,您可以參考陣列中的個別元素。 若要將陣列視為整體來參考,只要使用陣列識別項即可。 將資料收集到陣列中可簡化資料管理。 例如,只要使用一個陣列,方法可將名稱清單傳遞到只用一個參數的函式。

JScript 有兩種陣列型別,即 JScript 陣列和具型別陣列。 雖然這兩種陣列很類似,但也有一些不同之處。 JScript 陣列和具型別陣列彼此可以互通。 因此,JScript Array 物件可以呼叫任何具型別陣列的方法和屬性,且具型別陣列可呼叫許多 Array 物件的方法和屬性。 進一步說,接受具型別陣列的函式也接受 Array 物件,反之亦然。 如需詳細資訊,請參閱陣列物件

具型別陣列

具型別陣列 (也稱為原生陣列) 與 C 和 C++ 這些語言使用的陣列相似。 具型別陣列只儲存與陣列型別宣告所指定型別相對應的資料,因此可提供型別安全性。

注意事項注意事項

您可以定義 Object 型別的具型別陣列,以儲存任何型別的資料。

當指令碼建立或初始化陣列時,會設定型別陣列中的元素數目。 變更元素數目的唯一方法是重新建立陣列。 建立 n 個元素之型別陣列的元素編號為 0 到 n-1。 嘗試存取範圍之外的元素將會產生錯誤。 此外,具型別陣列是緊密的,也就是說在容許範圍內的每個索引都會參考至一個元素。

指令碼可將已宣告的具型別陣列指派給變數或常數,或是將陣列傳遞到函式、運算子或陳述式。 將陣列指派給變數 (或常數) 時,請確定變數的資料型別符合該陣列的型別,並確定和該陣列的維度相符。

型別陣列是 .NET Framework System.Array 物件的執行個體。 若要存取 System.Array 物件的靜態成員,或明確建立 System.Array 物件,需要完整名稱 System.Array。 這個語法將可區分 JScript 內建的 Array 物件。

JScript 陣列

JScript Array 物件比型別物件提供更多的彈性,所以當您想要一個泛型堆疊、一個項目清單以及當效能並非最高考量時,使用起來特別方便。 然而,因為具型別陣列提供了型別安全性、效能改進以及與其他語言有更好的互動,開發人員一般都會選用具型別陣列而不是 JScript 陣列。

JScript 陣列可儲存任何型別的資料,這使它可以更快地撰寫使用陣列的指令碼,而不須考慮型別的衝突問題。 因為這會略過 JScript 所提供的強式型別檢查,請小心使用本功能。

指令碼可動態地在 JScript 陣列中加入或移除元素。 如果要加入陣列元素,請設定一個值到該元素。 delete 運算子可移除元素。

JScript 陣列是疏鬆式的。因此,如果陣列有三個編號為 0、1 和 2 的元素,則可存有元素 50 而不需要元素 3 到 49 的存在。 每個 JScript 陣列有一個 length 屬性,在新增元素時會自動更新。 在以上的範例中,額外的元素 50 會導致長度變數的值變為 51,而不是 4。

JScript Array 物件和 JScript Object 幾乎相同。 兩個主要的差別是在 Object (預設值) 沒有自動長度屬性,且 JScript Object 沒有 Array 的屬性和方法。 如需詳細資訊,請參閱 JScript 陣列物件

請參閱

參考

Array 物件

概念

陣列資料

JScript Array 物件

其他資源

JScript 陣列