| 套件 | 最上層 | 
| 類別 | public dynamic class Array | 
| 繼承 | Array    Object | 
| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
[0],而第二個元素是 [1],其他依此類推。若要建立 Array 物件,請使用 new Array() 建構函式。 Array() 也可以當做函數叫用。 此外,您可以使用陣列存取 ([]) 運算子以初始化陣列,或存取陣列的元素。 
 您可以在陣列元素中儲存各種不同的資料類型,包括數字、字串、物件,甚至是其他陣列。您可以建立「多維度」陣列,方法是建立索引陣列並為其個別元素指定不同的索引陣列。 這樣的陣列我們稱為多維度陣列,因為它可以用來在表格中顯示資料。
 所謂「稀疏陣列」,表示在索引 0 可能有一個元素,在索引 5 則有另一個元素,不過這兩個元素之間的索引位置卻沒有任何元素。 在此情況下,從位置 1 到位置 4 的元素都是未定義的,也就表示不存在任何元素,而不一定有存在值為 undefined 的元素。
陣列是依據參照來指派,而非依據值來指派。 當您將一個陣列變數指派給另一個陣列變數時,兩者都會參照相同的陣列:
 var oneArray:Array = new Array("a", "b", "c");
 var twoArray:Array = oneArray; // Both array variables refer to the same array.
 twoArray[0] = "z";             
 trace(oneArray);               // Output: z,b,c.
 請勿使用 Array 類別建立「關聯陣列」 (又稱為「雜湊」),也就是包含已命名元素 (而非已編號元素) 的資料結構。 若要建立關聯陣列,請使用 Object 類別。 雖然 ActionScript 允許您使用 Array 類別建立關聯陣列,您卻無法將關聯陣列與 Array 類別的所有方法或屬性搭配使用。
您可以擴充 Array 類別並覆寫或新增方法。 不過,您必須將子類別指定為 dynamic,否則便會喪失將資料儲存在陣列中的能力。
相關 API 元素
| 屬性 | 定義自 | ||
|---|---|---|---|
![]()  | constructor : Object 
	 類別物件的參照或是特定物件實體的建構函數。  | Object | |
| length : uint 
     一個非負的整數,用來指定陣列中的元素數目。  | Array | ||
| 方法 | 定義自 | ||
|---|---|---|---|
     可讓您建立包含指定之元素的陣列。  | Array | ||
     可讓您建立具有指定之元素數目的陣列。  | Array | ||
     將參數中指定的元素和陣列中的元素連接,並建立新的陣列。  | Array | ||
     對陣列中的每個項目執行測試函數,直到抵達針對指定之函數傳回 false 的項目為止。  | Array | ||
     針對陣列中的每個項目執行測試函數,並為針對指定之函數傳回 true 的所有項目建構新的陣列。  | Array | ||
     會針對陣列中的每個項目執行函數。  | Array | ||
![]()  | 
	 指出物件是否有已定義的指定屬性。  | Object | |
     使用嚴謹相等 (===) 在陣列中搜尋某個項目,並傳回該項目的索引位置。  | Array | ||
     將單一元素插入陣列。  | Array | ||
![]()  | 
	 指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。  | Object | |
     會將陣列中的元素轉換成字串、在元素之間插入指定的分隔符號、連接元素,然後傳回最後產生的字串。  | Array | ||
     在陣列中搜尋某個項目 (會從最後一個項目回移),並使用嚴謹相等 (===) 傳回符合之項目的索引位置。  | Array | ||
     會針對陣列中的每個項目執行函數,並建構新的項目陣列,其中的項目會對應於原始陣列中每個項目的函數執行結果。  | Array | ||
      會移除陣列中的最後一個元素,並傳回該元素的值。  | Array | ||
![]()  | 
	 指出指定的屬性是否存在,以及是否可列舉。  | Object | |
     在陣列結尾加入一個或多個元素,並傳回新的陣列長度。  | Array | ||
     從陣列中移除單一元素。  | Array | ||
      在原地將陣列反轉。  | Array | ||
![]()  | 
     為迴圈作業設定動態屬性的可用性。  | Object | |
     移除陣列中的第一個元素,並傳回該元素。  | Array | ||
     傳回新的陣列 (此新陣列是由原始陣列的元素範圍所組成),但是不會修改原始陣列。  | Array | ||
     對陣列中的每個項目執行測試函數,直到抵達傳回 true 的項目為止。  | Array | ||
     對陣列中的元素進行排序。  | Array | ||
     根據陣列中的一個或多個欄位,對陣列中的元素進行排序。  | Array | ||
     在陣列中增加和移除元素。  | Array | ||
     會傳回字串,此字串代表指定之陣列中的元素。  | Array | ||
     會傳回字串,此字串代表指定之陣列中的元素。  | Array | ||
     在陣列開頭加入一個或多個元素,並傳回新的陣列長度。  | Array | ||
![]()  | 
	 會傳回指定之物件的基本值。  | Object | |
| 常數 | 定義自 | ||
|---|---|---|---|
| CASEINSENSITIVE : uint = 1 [靜態] 
     會針對 Array 類別排序方法指定不區分大小寫的排序方式。  | Array | ||
| DESCENDING : uint = 2 [靜態] 
     會針對 Array 類別排序方法指定遞減排序方式。  | Array | ||
| NUMERIC : uint = 16 [靜態] 
     會針對 Array 類別排序方法指定數字 (而非字元字串) 排序方式。  | Array | ||
| RETURNINDEXEDARRAY : uint = 8 [靜態] 
     會指定排序傳回由陣列索引所組成的陣列。  | Array | ||
| UNIQUESORT : uint = 4 [靜態] 
     會針對 Array 類別排序方法指定唯一的排序需求。  | Array | ||
length | 屬性 | 
length:uint| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
     一個非負的整數,用來指定陣列中的元素數目。 如果在陣列中增加新的元素,會自動更新這個屬性。 當您指定值給陣列元素 (例如,my_array[index] = value) 時,如果 index 是數字,而且 index+1 大於 length 屬性,則會將 length 屬性更新為 index+1。
     
注意:如果您將某個值指定給比現有長度還要短的 length 屬性,此陣列便會遭到截斷。
實作
    public function get length():uint    public function set length(value:uint):void範例 ( 如何使用本範例 )
Bill 的 Array 物件 names。 然後該物件會使用 push() 方法加入另一個字串元素 Kyle。 在使用 push() 之前,此陣列的長度 (由 length 屬性所決定) 為一個元素,而在呼叫 push() 之後則變成兩個元素。 另一個字串 Jeff 加入之後,names 的長度變成三個元素。 然後會呼叫 shift() 方法兩次來移除 Bill 和 Kyle,讓最後的 length 陣列變成一個元素。
var names:Array = new Array("Bill");
names.push("Kyle");
trace(names.length); // 2
names.push("Jeff");
trace(names.length); // 3
names.shift();
names.shift();
trace(names.length); // 1
Array | () | 建構函式 | 
public function Array(... values)| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
可讓您建立包含指定之元素的陣列。 您可以指定任何類型的值。 陣列中的第一個元素永遠都有 0 的索引 (或位置)。
注意:此類別會顯示兩個建構函式項目,因為該建構函式能接受變數類型的引數。 如每個項目中所詳述,此建構函式會根據傳遞之引數的類型與數目而有不同的行為。 ActionScript 3.0 並不支援方法或建構函式多載。
參數... values — 一個或多個任意值的逗號分隔清單。 
     注意:如果只將單一數值參數傳遞給 Array 建構函式,就會假定它要指定陣列的   | 
擲回值
RangeError  — 此引數是大於或等於 0 的非整數數字。    
      | 
相關 API 元素
範例 ( 如何使用本範例 )
one、two 和 three 填入此陣列中,然後將這些元素轉換為字串。
package {
    import flash.display.Sprite;
    public class Array_Array_3 extends Sprite {
        public function Array_Array_3() {
            var myArr:Array = new Array("one", "two", "three");
            trace(myArr.length); // 3
            trace(myArr);          // one,two,three
        }
    }
}
Array | () | 建構函式 | 
public function Array(numElements:int = 0)| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
     可讓您建立具有指定之元素數目的陣列。 如果不指定任何參數,則會建立含有 0 個元素的陣列。 如果您指定元素的數目,便會建立具有 numElements 個元素的陣列。 
     
注意:此類別會顯示兩個建構函式方法項目,因為該建構函式能接受變數類型的引數。 如每個項目中所詳述,此建構函式會根據傳遞之引數的類型與數目而有不同的行為。 ActionScript 3.0 並不支援方法或建構函式多載。
參數numElements:int (default = 0) — 用來指定陣列中元素數目的整數。
     
      | 
擲回值
RangeError  — 此引數是大於或等於 0 的非整數數字。    
      | 
相關 API 元素
範例 ( 如何使用本範例 )
myArr,不含任何引數且初始長度為 0:
package {
    import flash.display.Sprite;
    public class Array_Array extends Sprite {
        public function Array_Array() {
            var myArr:Array = new Array();
            trace(myArr.length); // 0
        }
    }
}
"one" 填入第一個元素中,然後使用 push() 方法將字串元素 "six" 加入到陣列的結尾:
package {
    import flash.display.Sprite;
    public class Array_Array_2 extends Sprite {
        public function Array_Array_2() {
            var myArr:Array = new Array(5);
            trace(myArr.length); // 5
            myArr[0] = "one";
            myArr.push("six");
            trace(myArr);         // one,,,,,six
            trace(myArr.length); // 6
        }
    }
}
concat | () | 方法 | 
 AS3 function concat(... args):Array| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
將參數中指定的元素和陣列中的元素連接,並建立新的陣列。 如果參數指定陣列,便會連接該陣列的元素。如果您沒有傳遞任何參數,新的陣列便會是原始陣列的重製副本 (陰影副本)。
參數
... args — 要在新陣列中連接之任何資料類型 (如數字、元素或字串) 的值。  
     
      | 
Array — 陣列,包含此陣列的元素,並後接參數中的元素。
     
      | 
範例 ( 如何使用本範例 )
numbers陣列,其中包含數字1、2和3。letters陣列,其中包含字母a、b和c。numbersAndLetters陣列,它會呼叫concat()方法以產生陣列[1,2,3,a,b,c]。lettersAndNumbers陣列,它會呼叫concat()方法以產生陣列[a,b,c,1,2,3]。
var numbers:Array = new Array(1, 2, 3);
var letters:Array = new Array("a", "b", "c");
var numbersAndLetters:Array = numbers.concat(letters);
var lettersAndNumbers:Array = letters.concat(numbers);
trace(numbers);       // 1,2,3
trace(letters);       // a,b,c
trace(numbersAndLetters); // 1,2,3,a,b,c
trace(lettersAndNumbers); // a,b,c,1,2,3
every | () | 方法 | 
 AS3 function every(callback:Function, thisObject:* = null):Boolean| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
     會對陣列中的每一個項目執行測試函數,直到抵達針對指定之函數傳回 false 的項目為止。 您可以使用此方法,判斷陣列中的所有項目是否都符合準則,例如具有小於特定數字的值。
     
     
對於此方法而言,如果第一個參數 callback 是方法結束項,第二個參數 thisObject 就必須是 null。假設您在影片片段中建立名為 me 的函數:
     function myFunction(obj:Object):void {
        //your code here
     }
     
     假設您接著對名稱為 myArray 的陣列使用 every() 方法:
     myArray.every(myFunction, me);
     
     由於 myFunction 是 Timeline 類別的成員,不能由 me 覆寫,Flash 執行階段便會擲出例外。您可以將此函數指定給變數,以避免這項執行階段錯誤,如下所示:
     var myFunction:Function = function(obj:Object):void {
         //your code here
     };
     myArray.every(myFunction, me);
     
     
     參數
callback:Function — 要針對陣列中每一個項目執行的函數。 此函數可以包含簡單的比較 (例如,item < 20) 或是較複雜的操作,而且必須搭配三個引數 (項目的值、項目的索引和 Array 物件) 加以叫用:
     function callback(item:*, index:int, array:Array):Boolean;  | |
thisObject:* (default = null) — 要用來當做函數之 this 使用的物件。
      | 
Boolean — 如果陣列中的所有項目都針對指定的函數傳回 true,則 Boolean 值為 true,否則為 false。
     
      | 
相關 API 元素
範例 ( 如何使用本範例 )
isNumeric 對第一個陣列的測試結果為 true,而對第二個陣列的測試結果則為 false:
package {
    import flash.display.Sprite;
    public class Array_every extends Sprite {
        public function Array_every() {
            var arr1:Array = new Array(1, 2, 4);
            var res1:Boolean = arr1.every(isNumeric);
            trace("isNumeric:", res1); // true
 
            var arr2:Array = new Array(1, 2, "ham");
            var res2:Boolean = arr2.every(isNumeric);
            trace("isNumeric:", res2); // false
        }
        private function isNumeric(element:*, index:int, arr:Array):Boolean {
            return (element is Number);
        }
    }
}
filter | () | 方法 | 
 AS3 function filter(callback:Function, thisObject:* = null):Array| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
     針對陣列中的每個項目執行測試函數,並為針對指定之函數傳回 true 的所有項目建構新的陣列。 如果某個項目傳回 false,則新的陣列中不會包括該項目。
     
     
對於此方法而言,如果第一個參數 callback 是方法結束項,第二個參數 thisObject 就必須是 null。假設您在影片片段中建立名為 me 的函數:
     function myFunction(obj:Object):void {
        //your code here
     }
     
     然後假設您針對名為 myArray 的陣列使用 filter() 方法:
 
     myArray.filter(myFunction, me);
     
     由於 myFunction 是 Timeline 類別的成員,不能由 me 覆寫,Flash 執行階段便會擲出例外。您可以將此函數指定給變數,以避免這項執行階段錯誤,如下所示:
     var myFunction:Function = function(obj:Object):void {
         //your code here
         };
     myArray.filter(myFunction, me);
     
     
     參數
callback:Function — 要針對陣列中每一個項目執行的函數。 此函數可以包含簡單的比較 (例如,item < 20) 或是較複雜的操作,而且必須搭配三個引數 (項目的值、項目的索引和 Array 物件) 加以叫用:
     function callback(item:*, index:int, array:Array):Boolean;  | |
thisObject:* (default = null) — 要用來當做函數之 this 使用的物件。
      | 
Array — 新的陣列,其中包含了原始陣列中傳回 true 的所有項目。
     
      | 
相關 API 元素
範例 ( 如何使用本範例 )
package {
    import flash.display.Sprite;
    public class Array_filter extends Sprite {
        public function Array_filter() {
            var employees:Array = new Array();
            employees.push({name:"Employee 1", manager:false});
            employees.push({name:"Employee 2", manager:true});
            employees.push({name:"Employee 3", manager:false});
            trace("Employees:");
            employees.forEach(traceEmployee);
            
            var managers:Array = employees.filter(isManager);
            trace("Managers:");
            managers.forEach(traceEmployee);
        }
        private function isManager(element:*, index:int, arr:Array):Boolean {
            return (element.manager == true);
        }
        private function traceEmployee(element:*, index:int, arr:Array):void {
            trace("\t" + element.name + ((element.manager) ? " (manager)" : ""));
        }
    }
}
forEach | () | 方法 | 
 AS3 function forEach(callback:Function, thisObject:* = null):void| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
會針對陣列中的每個項目執行函數。
對於此方法而言,如果第一個參數 callback 是方法結束項,第二個參數 thisObject 就必須是 null。假設您在影片片段中建立名為 me 的函數:
     function myFunction(obj:Object):void {
        //your code here
     }
     
     假設您接著對名稱為 myArray 的陣列使用 forEach() 方法:
     myArray.forEach(myFunction, me);
     
     由於 myFunction 是 Timeline 類別的成員,不能由 me 覆寫,Flash 執行階段便會擲出例外。您可以將此函數指定給變數,以避免這項執行階段錯誤,如下所示:
     var myFunction:Function = function(obj:Object):void {
         //your code here
         };
     myArray.forEach(myFunction, me);
     
     參數
callback:Function — 要針對陣列中每一個項目執行的函數。 此函數可以包含簡單的命令 (例如,trace() 陳述式) 或是較複雜的作業,而且會以三個引數 (項目的值、項目的索引及 Array 物件) 加以叫用:
     function callback(item:*, index:int, array:Array):void;  | |
thisObject:* (default = null) — 要用來當做函數之 this 使用的物件。
     
      | 
範例 ( 如何使用本範例 )
traceEmployee() 函數中的 trace() 陳述式:
package {
    import flash.display.Sprite;
    public class Array_forEach extends Sprite {
        public function Array_forEach() {
            var employees:Array = new Array();
            employees.push({name:"Employee 1", manager:false});
            employees.push({name:"Employee 2", manager:true});
            employees.push({name:"Employee 3", manager:false});
            trace(employees);
            employees.forEach(traceEmployee);
        }
        private function traceEmployee(element:*, index:int, arr:Array):void {
            trace(element.name + " (" + element.manager + ")");
        }
    }
}
traceEmployee() 函數中的 trace() 陳述式:
package {
    import flash.display.Sprite;
    public class Array_forEach_2 extends Sprite {
        public function Array_forEach_2() {
            var employeeXML:XML = <employees>
                    <employee name="Steven" manager="false" />
                    <employee name="Bruce" manager="true" />
                    <employee name="Rob" manager="false" />
                </employees>;
            var employeesList:XMLList = employeeXML.employee;
            var employeesArray:Array = new Array();
            for each (var tempXML:XML in employeesList) {
                employeesArray.push(tempXML);
            }
            employeesArray.sortOn("@name");
            employeesArray.forEach(traceEmployee);
        }
        private function traceEmployee(element:*, index:Number, arr:Array):void {
            trace(element.@name + ((element.@manager == "true") ? " (manager)" : ""));
        }
    }
}
indexOf | () | 方法 | 
 AS3 function indexOf(searchElement:*, fromIndex:int = 0):int| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
     會使用嚴謹相等 (===) 在陣列中搜尋某個項目,並傳回該項目的索引位置。
     
參數
searchElement:* — 要在陣列中尋找的項目。
     
      | |
fromIndex:int (default = 0) — 要在陣列中開始搜尋項目的位置。
      | 
int — 此項目在陣列中的索引位置 (從零開始)。 如果找不到 searchElement 引數,傳回值會是 -1。
     
      | 
相關 API 元素
範例 ( 如何使用本範例 )
package {
    import flash.display.Sprite;
    public class Array_indexOf extends Sprite {
        public function Array_indexOf() {
            var arr:Array = new Array(123,45,6789);
            arr.push("123-45-6789");
            arr.push("987-65-4321");
            
            var index:int = arr.indexOf("123");
            trace(index); // -1
            
            var index2:int = arr.indexOf(123);
            trace(index2); // 0
        }
    }
}
insertAt | () | 方法 | 
join | () | 方法 | 
 AS3 function join(sep:*):String| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
     會將陣列中的元素轉換成字串、在元素之間插入指定的分隔符號、連接元素,然後傳回最後產生的字串。 巢狀的陣列永遠是用逗號 (,) 來分隔,而不是用傳遞給 join() 方法的分隔符號來分隔。
     
     
參數
sep:* (default = NaN) — 在傳回的字串中分隔陣列元素的字元或字串。 如果省略這個參數,便會使用逗號做為預設分隔符號。 
     
      | 
String — 字串,由轉換成字串的陣列元素組成,並以指定的參數分隔。
     
      | 
相關 API 元素
範例 ( 如何使用本範例 )
join() 方法來建立包含元素 one、two 和 three 的 Array 物件 myArr 以及包含 one and two and three 的字串。
var myArr:Array = new Array("one", "two", "three");
var myStr:String = myArr.join(" and ");
trace(myArr); // one,two,three
trace(myStr); // one and two and three
(、)、- 和空格的 Array 物件 specialChars,然後建立包含 (888) 867-5309 的字串。 然後藉由使用 for 迴圈,它會移除 specialChars 中所列的每一個特殊字元類型,以產生只包含其餘電話號碼數字的字串 (myStr):888675309。請注意其他字元 (如 +) 原本可能已經加入到 specialChars,然後這個常式會處理國際電話號碼格式。
var phoneString:String = "(888) 867-5309";
var specialChars:Array = new Array("(", ")", "-", " ");
var myStr:String = phoneString;
var ln:uint = specialChars.length;
for(var i:uint; i < ln; i++) {
    myStr = myStr.split(specialChars[i]).join("");
}
var phoneNumber:Number = new Number(myStr);
trace(phoneString); // (888) 867-5309
trace(phoneNumber); // 8888675309
lastIndexOf | () | 方法 | 
 AS3 function lastIndexOf(searchElement:*, fromIndex:int = 0x7fffffff):int| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
     會在陣列中搜尋某個項目 (從最後一個項目往回移),並使用嚴謹相等 (===) 傳回符合之項目的索引位置。
     
參數
searchElement:* — 要在陣列中尋找的項目。
     
      | |
fromIndex:int (default = 0x7fffffff) — 要在陣列中開始搜尋項目的位置。 預設值是索引可允許的最大值。 如果沒有指定 fromIndex,搜尋便會從陣列中的最後一個項目開始。
      | 
int — 此項目在陣列中的索引位置 (從零開始)。 如果找不到 searchElement 引數,傳回值會是 -1。
     
      | 
相關 API 元素
範例 ( 如何使用本範例 )
package {
    import flash.display.Sprite;
    public class Array_lastIndexOf extends Sprite {
        public function Array_lastIndexOf() {
            var arr:Array = new Array(123,45,6789,123,984,323,123,32);
            
            var index:int = arr.indexOf(123);
            trace(index); // 0
            
            var index2:int = arr.lastIndexOf(123);
            trace(index2); // 6
        }
    }
}
map | () | 方法 | 
 AS3 function map(callback:Function, thisObject:* = null):Array| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
會針對陣列中的每個項目執行函數,並建構新的項目陣列,其中的項目會對應於原始陣列中每個項目的函數執行結果。
對於此方法而言,如果第一個參數 callback 是方法結束項,第二個參數 thisObject 就必須是 null。假設您在影片片段中建立名為 me 的函數:
     function myFunction(obj:Object):void {
        //your code here
     }
     
     假設您接著對名稱為 myArray 的陣列使用 map() 方法:
     myArray.map(myFunction, me);
     
     由於 myFunction 是 Timeline 類別的成員,不能由 me 覆寫,Flash 執行階段便會擲出例外。您可以將此函數指定給變數,以避免這項執行階段錯誤,如下所示:
     var myFunction:Function = function(obj:Object):void {
         //your code here
         };
     myArray.map(myFunction, me);
     
     參數
callback:Function — 要針對陣列中每一個項目執行的函數。 此函數可以包含簡單的命令 (例如,變更字串陣列的大小寫) 或更複雜的作業,而且會搭配三個引數 (項目的值、項目的索引,以及 Array 物件) 加以叫用:
     function callback(item:*, index:int, array:Array):String;  | |
thisObject:* (default = null) — 要用來當做函數之 this 使用的物件。
      | 
Array — 新的陣列,其中包含原始陣列中每個項目的函數執行結果。
     
      | 
相關 API 元素
範例 ( 如何使用本範例 )
package {
    import flash.display.Sprite;
    public class Array_map extends Sprite {
        public function Array_map() {
            var arr:Array = new Array("one", "two", "Three");
            trace(arr); // one,two,Three
            var upperArr:Array = arr.map(toUpper);
            trace(upperArr); // ONE,TWO,THREE
        }
        private function toUpper(element:*, index:int, arr:Array):String {
            return String(element).toUpperCase();
        }
    }
}
pop | () | 方法 | 
 AS3 function pop():*| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
會移除陣列中的最後一個元素,並傳回該元素的值。
傳回值* — 指定之陣列中最後一個元素 (可以是任何資料類型) 的值。
     
      | 
相關 API 元素
範例 ( 如何使用本範例 )
a、b 和 c 的 Array 物件 letters。 然後會使用 pop() 方法,從此陣列中移除最後一個元素 (c),然後將它指定給 String 物件 letter。
var letters:Array = new Array("a", "b", "c");
trace(letters); // a,b,c
var letter:String = letters.pop();
trace(letters); // a,b
trace(letter);     // c
push | () | 方法 | 
 AS3 function push(... args):uint| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
在陣列結尾加入一個或多個元素,並傳回新的陣列長度。
參數
... args — 要附加至陣列的一個或多個值。
      | 
uint — 整數,代表新陣列的長度。
     
      | 
相關 API 元素
範例 ( 如何使用本範例 )
letters,然後使用 push() 方法將元素 a、b 和 c 填入此陣列中。
var letters:Array = new Array();
letters.push("a");
letters.push("b");
letters.push("c");
trace(letters.toString()); // a,b,c
letters,此物件一開始會填入元素 a。 然後會使用 push() 方法一次,將元素 b 和 c 加入到此陣列的結尾,也就是推入之後有三個元素。
var letters:Array = new Array("a");
var count:uint = letters.push("b", "c");
trace(letters); // a,b,c
trace(count);   // 3
removeAt | () | 方法 | 
reverse | () | 方法 | 
 AS3 function reverse():Array| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
在原地將陣列反轉。
傳回值Array — 新的陣列。
      | 
範例 ( 如何使用本範例 )
a、b 和 c 的 Array 物件 letters。 然後會使用 reverse() 方法反轉陣列元素的順序,以產生陣列 [c,b,a]。
var letters:Array = new Array("a", "b", "c");
trace(letters); // a,b,c
letters.reverse();
trace(letters); // c,b,a
shift | () | 方法 | 
 AS3 function shift():*| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
移除陣列中的第一個元素,並傳回該元素。 剩餘的陣列元素會從其原始位置 i 移到 i-1。
傳回值* — 陣列中的第一個元素 (可以是任何資料類型)。
     
      | 
相關 API 元素
範例 ( 如何使用本範例 )
a、b 和 c 的 Array 物件 letters。 然後會使用 shift() 方法從 letters 中移除第一個元素 (a),並將它指定給字串 firstLetter。
var letters:Array = new Array("a", "b", "c");
var firstLetter:String = letters.shift();
trace(letters);     // b,c
trace(firstLetter); // a
slice | () | 方法 | 
 AS3 function slice(startIndex:int = 0, endIndex:int = 16777215):Array| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
     傳回新的陣列 (此新陣列是由原始陣列的元素範圍所組成),但是不會修改原始陣列。 傳回的陣列包含 startIndex 元素及其後的所有元素,但是不包含 endIndex 元素。
     
     
如果您沒有傳遞任何參數,新的陣列便會是原始陣列的重製副本 (陰影副本)。
參數
startIndex:int (default = 0) — 數字,指定片段開始點的索引。 如果 startIndex 為負值,表示起點是從陣列的結尾開始,而 -1 就是指最後一個元素。  
     
      | |
endIndex:int (default = 16777215) — 數字,指定片段結束點的索引。 如果您省略這個參數,這個片段就會包含從陣列開始點到陣列結束點的所有元素。 如果 endIndex 為負值,表示指定的終點是在陣列的結尾,而 -1 就是指最後一個元素。
     
      | 
Array — 陣列,由來自原始陣列的元素範圍組成。
     
      | 
範例 ( 如何使用本範例 )
[a,b,c,d,e,f] 的 Array 物件 letters。 然後會建立陣列 someLetters,其方式是針對元素一 (b) 到元素三 (d) 呼叫 slice() 方法,然後會產生包含元素 b 和 c 的陣列。
var letters:Array = new Array("a", "b", "c", "d", "e", "f");
var someLetters:Array = letters.slice(1,3);
trace(letters);     // a,b,c,d,e,f
trace(someLetters); // b,c
[a,b,c,d,e,f] 的 Array 物件 letters,然後會針對元素二 (c) 呼叫 slice() 方法來建立陣列 someLetters,於是便產生包含元素 [c,d,e,f] 的陣列。
var letters:Array = new Array("a", "b", "c", "d", "e", "f");
var someLetters:Array = letters.slice(2);
trace(letters);     // a,b,c,d,e,f
trace(someLetters); // c,d,e,f
[a,b,c,d,e,f] 的 Array 物件 letters。 然後會針對倒數第二個元素 (e) 呼叫 slice() 方法來建立陣列 someLetters,如此便產生包含元素 e 和 f 的陣列。
var letters:Array = new Array("a", "b", "c", "d", "e", "f");
var someLetters:Array = letters.slice(-2);
trace(letters);     // a,b,c,d,e,f
trace(someLetters); // e,f
some | () | 方法 | 
 AS3 function some(callback:Function, thisObject:* = null):Boolean| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
     會對陣列中的每個項目執行測試函數,直到抵達傳回 true 的項目為止。 您可以使用此方法,判斷陣列中的所有項目是否符合準則,例如具有小於特定數字的值。
     
     
對於此方法而言,如果第一個參數 callback 是方法結束項,第二個參數 thisObject 就必須是 null。假設您在影片片段中建立名為 me 的函數:
     function myFunction(obj:Object):void {
        //your code here
     }
     
     假設您接著對名稱為 myArray 的陣列使用 some() 方法:
     myArray.some(myFunction, me);
     
     由於 myFunction 是 Timeline 類別的成員,不能由 me 覆寫,Flash 執行階段便會擲出例外。您可以將此函數指定給變數,以避免這項執行階段錯誤,如下所示:
     var myFunction:Function = function(obj:Object):void {
         //your code here
         };
     myArray.some(myFunction, me);
        
     參數
callback:Function — 要針對陣列中每一個項目執行的函數。 此函數可以包含簡單的比較 (例如,item < 20) 或是較複雜的操作,而且必須搭配三個引數 (項目的值、項目的索引和 Array 物件) 加以叫用:
     function callback(item:*, index:int, array:Array):Boolean;  | |
thisObject:* (default = null) — 要用來當做函數之 this 使用的物件。
      | 
Boolean — 如果陣列中有任何項目針對指定的函數傳回 true,則 Boolean 值為 true,否則為 false。
     
      | 
相關 API 元素
範例 ( 如何使用本範例 )
package {
    import flash.display.Sprite;
    public class Array_some extends Sprite {
        public function Array_some() {
            var arr:Array = new Array();
            arr[0] = "one";
            arr[1] = "two";
            arr[3] = "four";
            var isUndef:Boolean = arr.some(isUndefined);
            if (isUndef) {
                trace("array contains undefined values: " + arr);
            } else {
                trace("array contains no undefined values.");
            }
        }
        private function isUndefined(element:*, index:int, arr:Array):Boolean {
            return (element == undefined);
        }
    }
}
sort | () | 方法 | 
 AS3 function sort(... args):Array| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
對陣列中的元素進行排序。 此方法會根據 Unicode 值進行排序。(ASCII 是 Unicode 的子集)。
根據預設,Array。sort() 的運作方式如下所示:
- 排序動作有區分大小寫 (Z 位於 a 之前)。
 - 以遞增方式排序 (a 位於 b 之前)。
 - 陣列會遭到修改,以反映出排序順序;具有相同排序欄位的多個元素會被連續置於排序陣列中 (不會依照特定順序)。
 - 所有的元素,無論屬於何種資料類型,都會如字串般排序。所以 100 會在 99 之前,因為 "1" 是比 "9" 低的字串值。
 
     若不使用預設設定來排序陣列,您可以使用 ...args 參數說明之 sortOptions 部分所描述的其中一個排序選項,或是建立自訂的函數以進行排序。 如果您建立自訂函數,您便可以在呼叫 sort() 方法時,使用自訂函數的名稱做為第一個引數 (compareFunction)。 
     
參數
... args — 引數,用以指定比較函數及決定排序行為的一個或多個值。
     這個方法會使用  
  | 
Array — 傳回的值會視您是否有傳遞任何參數而定,如下列清單中所述:
     
  | 
相關 API 元素
範例 ( 如何使用本範例 )
[spinach, green pepper, cilantro, onion, avocado] 的 Array 物件 vegetables。 然後會由 sort() 方法來排序此陣列 (呼叫此方法時不含任何參數)。 結果會是依字母順序排序的 vegetables ([avocado, cilantro, green pepper, onion, spinach])。
var vegetables:Array = new Array("spinach",
                 "green pepper",
                 "cilantro",
                 "onion",
                 "avocado");
trace(vegetables); // spinach,green pepper,cilantro,onion,avocado
vegetables.sort();
trace(vegetables); // avocado,cilantro,green pepper,onion,spinach
[spinach, green pepper, Cilantro, Onion, and Avocado] 的 Array 物件 vegetables。 然後會由 sort() 方法來排序此陣列 (第一次呼叫此方法時不含任何參數);結果會是 [Avocado,Cilantro,Onion,green pepper,spinach]。 然後會再次針對 vegetables 呼叫 sort() (使用 CASEINSENSITIVE 常數當做參數)。 結果會是依字母順序排序的 vegetables ([Avocado, Cilantro, green pepper, Onion, spinach])。
var vegetables:Array = new Array("spinach",
                 "green pepper",
                 "Cilantro",
                 "Onion",
                 "Avocado");
vegetables.sort();
trace(vegetables); // Avocado,Cilantro,Onion,green pepper,spinach
vegetables.sort(Array.CASEINSENSITIVE);
trace(vegetables); // Avocado,Cilantro,green pepper,Onion,spinach
vegetables,然後透過 push() 的五個呼叫來填入。 每次呼叫 push() 時,Vegetable() 建構函式的呼叫就會建立新的 Vegetable 物件,此建構函式可接受 String (name) 和 Number (price) 物件。 以下列陣列結果中所顯示的值呼叫 push() 五次:[lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44]。然後再使用 sort() 方法來排序陣列,以產生陣列 [asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44]。
var vegetables:Array = new Array();
vegetables.push(new Vegetable("lettuce", 1.49));
vegetables.push(new Vegetable("spinach", 1.89));
vegetables.push(new Vegetable("asparagus", 3.99));
vegetables.push(new Vegetable("celery", 1.29));
vegetables.push(new Vegetable("squash", 1.44));
trace(vegetables);
// lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44
vegetables.sort();
trace(vegetables);
// asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44
//The following code defines the Vegetable class
class Vegetable {
    private var name:String;
    private var price:Number;
    public function Vegetable(name:String, price:Number) {
        this.name = name;
        this.price = price;
    }
    public function toString():String {
        return " " + name + ":" + price;
    }
}
sort() 方法會搭配自訂排序函數 (sortOnPrice) 使用,此函數會根據價格 (而非字母順序) 來排序。 請注意,新的函數 getPrice() 會擷取價格。
var vegetables:Array = new Array();
vegetables.push(new Vegetable("lettuce", 1.49));
vegetables.push(new Vegetable("spinach", 1.89));
vegetables.push(new Vegetable("asparagus", 3.99));
vegetables.push(new Vegetable("celery", 1.29));
vegetables.push(new Vegetable("squash", 1.44));
trace(vegetables);
// lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44
vegetables.sort(sortOnPrice);
trace(vegetables);
// celery:1.29, squash:1.44, lettuce:1.49, spinach:1.89, asparagus:3.99
function sortOnPrice(a:Vegetable, b:Vegetable):Number {
    var aPrice:Number = a.getPrice();
    var bPrice:Number = b.getPrice();
    if(aPrice > bPrice) {
        return 1;
    } else if(aPrice < bPrice) {
        return -1;
    } else  {
        //aPrice == bPrice
        return 0;
    }
}
// The following code defines the Vegetable class and should be in a separate package.
class Vegetable {
    private var name:String;
    private var price:Number;
    public function Vegetable(name:String, price:Number) {
        this.name = name;
        this.price = price;
    }
    public function getPrice():Number {
        return price;
    }
    public function toString():String {
        return " " + name + ":" + price;
    }
}
[3,5,100,34,10] 的 Array 物件 numbers。 呼叫 sort() 時如果不含任何參數,則會以字母順序排序,而產生不想要的結果 [10,100,3,34,5]。 若要適當排序數值,您必須將常數 NUMERIC 傳遞給 sort() 方法,此方法會排序 numbers,如下所示:[3,5,10,34,100]。
 注意: sort() 函數的預設行為是將每個實體當做字串處理。 如果您使用 Array.NUMERIC 引數,Flash 執行階段會為了進行排序而將任何非數字的值轉換成整數。如果失敗,執行階段會擲出錯誤。例如,執行階段可以將 "6" 的字串值成功轉換成整數,但是如果遇到值為 "six" 的字串值,則會擲出錯誤。
var numbers:Array = new Array(3,5,100,34,10); trace(numbers); // 3,5,100,34,10 numbers.sort(); trace(numbers); // 10,100,3,34,5 numbers.sort(Array.NUMERIC); trace(numbers); // 3,5,10,34,100
sortOn | () | 方法 | 
 AS3 function sortOn(fieldName:Object, options:Object = null):Array| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
根據陣列中的一個或多個欄位,對陣列中的元素進行排序。 陣列應該會具有下列特性:
- 此陣列是索引陣列,而不是關聯陣列。
 - 陣列的每個元素都保留具有一個或多個屬性的物件。
 - 所有物件至少都具有一個相同的屬性,其值可用來排序陣列。 這樣的屬性稱為 field。
 
若您傳遞多個 fieldName 參數,則第一個欄位代表的是主要排序欄位,第二個欄位代表的是次要排序欄位,其他依此類推。Flash 會根據 Unicode 值進行排序。(ASCII 是 Unicode 的子集)。 如果比較的任一個元素中,都未包含 fieldName 參數中指定的欄位,會假設該欄位設定為 undefined,並且會將元素連續置於排序的陣列中 (不依照特定順序)。
根據預設,Array。sortOn() 的運作方式如下所示:
- 排序動作有區分大小寫 (Z 位於 a 之前)。
 - 以遞增方式排序 (a 位於 b 之前)。
 - 陣列會遭到修改,以反映出排序順序;具有相同排序欄位的多個元素會被連續置於排序陣列中 (不會依照特定順序)。
 - 數值欄位會視為字串進行排序,因此 100 位於 99 之前,因為 "1" 是位於 "9" 之前的字串值。
 
Flash Player 7 中加入了 options 參數,可以用來覆寫預設的排序行為。 若要對簡單陣列 (例如,只有一個欄位的陣列) 進行排序,或者要指定 options 參數不支援的某種排序順序,請使用 Array.sort()。
若要傳遞多個旗標,請使用位元 OR (|) 運算子來加以分隔:
     my_array.sortOn(someFieldName, Array.DESCENDING | Array.NUMERIC);
     Flash Player 8 加入的功能是在排序多個欄位時為每個欄位指定不同的排序選項。 在 Flash Player 8 及更新版本中,options 參數會接受排序選項的陣列,因此每個排序選項都會對應至 fieldName 參數中的排序欄位。 下列範例會使用遞減排序來排序主要排序欄位 a、使用數值排序來排序次要排序欄位 b,並使用不區分大小寫排序來排序第三位排序欄位 c:
     Array.sortOn (["a", "b", "c"], [Array.DESCENDING, Array.NUMERIC, Array.CASEINSENSITIVE]);
     注意: fieldName 和 options 陣列必須具有相同的元素數目,否則會忽略 options 陣列。 此外,Array.UNIQUESORT 和 Array.RETURNINDEXEDARRAY 選項只能用來當做陣列的第一個元素,否則便會忽略這些選項。
參數
fieldName:Object — 字串,可識別要當做排序值使用的欄位,或是陣列,其中第一個元素代表主要排序欄位,第二個元素則代表次要排序欄位,其他依此類推。
     
      | |
options:Object (default = null) — 一個或多個數字或已定義的常數名稱 (以 bitwise OR (|) 運算子分隔),會變更排序行為。 下列為 options 參數可接受的值:
     
 若您採用的是旗標的字串形式 (例如   | 
Array — 傳回的值會視您是否有傳遞任何參數而定:
     
  | 
相關 API 元素
範例 ( 如何使用本範例 )
vegetables,然後使用 push() 的五個呼叫來填入此陣列。 每次呼叫 push() 時,就會藉由呼叫 Vegetable() 建構函式來建立新的 Vegetable 物件,此建構函式可接受 String (name) 和 Number (price) 物件。 以下列陣列結果中所顯示的值呼叫 push() 五次。 [lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44]。接著,sortOn() 方法會搭配 name 參數使用,以產生下列陣列:[asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44]。會再次使用價格參數及 NUMERIC 和 DESCENDING 常數 (用來產生以遞減數字順序排序的陣列) 來呼叫 sortOn() 方法:[asparagus:3.99, spinach:1.89, lettuce:1.49, squash:1.44, celery:1.29]。
var vegetables:Array = new Array();
vegetables.push(new Vegetable("lettuce", 1.49));
vegetables.push(new Vegetable("spinach", 1.89));
vegetables.push(new Vegetable("asparagus", 3.99));
vegetables.push(new Vegetable("celery", 1.29));
vegetables.push(new Vegetable("squash", 1.44));
trace(vegetables);
// lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44
vegetables.sortOn("name");
trace(vegetables);
// asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44
vegetables.sortOn("price", Array.NUMERIC | Array.DESCENDING);
trace(vegetables);
// asparagus:3.99, spinach:1.89, lettuce:1.49, squash:1.44, celery:1.29
class Vegetable {
    public var name:String;
    public var price:Number;
    public function Vegetable(name:String, price:Number) {
        this.name = name;
        this.price = price;
    }
    public function toString():String {
        return " " + name + ":" + price;
    }
}
records,然後使用 push() 的三個呼叫來填入此陣列。 每次呼叫 push() 時,就會將 name 和 city 字串及 zip 編號加入到 records。 然後使用三個 for 迴圈列印出陣列元素。 第一個 for 迴圈會以元素加入的順序列印元素。 第二個 for 迴圈會在已經使用 sortOn() 方法,先依據名稱再依據城市來排序 records 之後執行。 第三個 for 迴圈會產生不同的輸出,因為會先根據城市再依據名稱重新排序 records。
var records:Array = new Array();
records.push({name:"john", city:"omaha", zip:68144});
records.push({name:"john", city:"kansas city", zip:72345});
records.push({name:"bob", city:"omaha", zip:94010});
for(var i:uint = 0; i < records.length; i++) {
    trace(records[i].name + ", " + records[i].city);
}
// Results:
// john, omaha
// john, kansas city
// bob, omaha
trace("records.sortOn('name', 'city');");
records.sortOn(["name", "city"]);
for(var i:uint = 0; i < records.length; i++) {
    trace(records[i].name + ", " + records[i].city);
}
// Results:
// bob, omaha
// john, kansas city
// john, omaha
trace("records.sortOn('city', 'name');");
records.sortOn(["city", "name"]);
for(var i:uint = 0; i < records.length; i++) {
    trace(records[i].name + ", " + records[i].city);
}
// Results:
// john, kansas city
// bob, omaha
// john, omaha
users,然後使用 push() 的四個呼叫來填入此陣列。 每次呼叫 push() 時,就會使用 User() 建構函式來建立 User 物件,並將 name 字串和 age uint 加入到使用者。 產生的陣列組會是 [Bob:3,barb:35,abcd:3,catchy:4]。
 然後會以下列方式排序陣列:
- 只依據名稱,產生陣列 
[Bob:3,abcd:3,barb:35,catchy:4] - 依據名稱及使用 
CASEINSENSITIVE常數,產生陣列[abcd:3,barb:35,Bob:3,catchy:4] - 依據名稱及使用 
CASEINSENSITIVE和DESCENDING常數,產生陣列[catchy:4,Bob:3,barb:35,abcd:3] - 只依據年齡,產生陣列 
[abcd:3,Bob:3,barb:35,catchy:4] - 依據年齡及使用 
NUMERIC常數,產生陣列[Bob:3,abcd:3,catchy:4,barb:35] - 依據年齡及使用 
DESCENDING和NUMERIC常數,產生陣列[barb:35,catchy:4,Bob:3,abcd:3] 
然後會建立名為 indices 的陣列,並根據年齡及使用 NUMERIC 和 RETURNINDEXEDARRAY 常數來指定排序結果,如此會產生陣列 [Bob:3,abcd:3,catchy:4,barb:35],然後會使用 for 迴圈列印出此陣列。
class User {
    public var name:String;
    public var age:Number;
    public function User(name:String, age:uint) {
        this.name = name;
        this.age = age;
    }
    public function toString():String {
        return this.name + ":" + this.age;
    }
}
var users:Array = new Array();
users.push(new User("Bob", 3));
users.push(new User("barb", 35));
users.push(new User("abcd", 3));
users.push(new User("catchy", 4));
trace(users); // Bob:3,barb:35,abcd:3,catchy:4
users.sortOn("name");
trace(users); // Bob:3,abcd:3,barb:35,catchy:4
users.sortOn("name", Array.CASEINSENSITIVE);
trace(users); // abcd:3,barb:35,Bob:3,catchy:4
users.sortOn("name", Array.CASEINSENSITIVE | Array.DESCENDING);
trace(users); // catchy:4,Bob:3,barb:35,abcd:3
users.sortOn("age");
trace(users); // abcd:3,Bob:3,barb:35,catchy:4
users.sortOn("age", Array.NUMERIC);
trace(users); // Bob:3,abcd:3,catchy:4,barb:35
users.sortOn("age", Array.DESCENDING | Array.NUMERIC);
trace(users); // barb:35,catchy:4,Bob:3,abcd:3
var indices:Array = users.sortOn("age", Array.NUMERIC | Array.RETURNINDEXEDARRAY);
var index:uint;
for(var i:uint = 0; i < indices.length; i++) {
    index = indices[i];
    trace(users[index].name, ": " + users[index].age);
}
// Results:
// Bob : 3
// abcd : 3
// catchy : 4
// barb : 35
splice | () | 方法 | 
 AS3 function splice(startIndex:int, deleteCount:uint, ... values):Array| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
在陣列中增加和移除元素。 這個方法會修改陣列,但是不會製作副本。
注意: 若要在 Array 的子類別中覆寫此方法,請使用 ...args 做為參數,如以下範例所示:
     public override function splice(...args) {
       // your statements here
     }
     
     參數
startIndex:int — 整數,用以指定陣列中插入或刪除開始位置之元素的索引。 您可以使用負整數,指定相對於陣列結尾的位置 (例如,-1 是陣列的最後一個元素)。
      | |
deleteCount:uint — 整數,指定要刪除的元素數目。 這個數字會包含 startIndex 參數中所指定的元素。 如果您沒有指定 deleteCount 參數的值,此方法便會刪除此陣列中從 startIndex 元素到最後一個元素的所有值。 如果這個值為 0,則不會刪除任何元素。     
      | |
... values — 含有一個或多個逗號分隔值的選擇性清單,以便將其插入此陣列中 startIndex 參數所指定的位置。如果輸入的值屬於 Array 類型,則這個陣列會保留不變並以單一元素的形式予以插入。例如,如果您將現有長度為 3 的陣列與另一個長度為 3 的陣列接合起來,則產生的陣列將只有 4 個元素。不過,其中一個元素會是長度為 3 的陣列。
     
      | 
Array — 陣列,其中包含從原始陣列中移除的元素。
     
      | 
範例 ( 如何使用本範例 )
[spinach, green pepper, cilantro, onion, avocado] 的 Array 物件 vegetables。 然後會使用參數 2 和 2 呼叫 splice() 方法,此方法會將 cilantro 和 onion 指定給 spliced 陣列。 然後 vegetables 陣列便會包含 [spinach,green pepper,avocado]。 會使用參數 1、0 和 spliced 陣列第二次呼叫 splice() 方法,將 [cilantro,onion] 指定為 vegetables 中的第二個元素。
var vegetables:Array = new Array("spinach",
                 "green pepper",
                 "cilantro",
                 "onion",
                 "avocado");
var spliced:Array = vegetables.splice(2, 2);
trace(vegetables); // spinach,green pepper,avocado
trace(spliced);    // cilantro,onion
vegetables.splice(1, 0, spliced);
trace(vegetables); // spinach,cilantro,onion,green pepper,avocado
cilantro 和 onion 描出的形式就像 vegetables 有 5 個元素一樣,但是實際上只有四個 (第二個元素是另一個包含兩個元素的陣列)。 若要個別加入 cilantro 和 onion,您會使用:
 
var vegetables:Array = new Array("spinach",
                 "green pepper",
                 "cilantro",
                 "onion",
                 "avocado");
 
 var spliced:Array = vegetables.splice(2, 2);
 trace(vegetables); // spinach,green pepper,avocado
 trace(spliced);    // cilantro,onion
 
 vegetables.splice(1, 0, "cilantro", "onion");
 trace(vegetables); // spinach,cilantro,onion,green pepper,avocado
toLocaleString | () | 方法 | 
toString | () | 方法 | 
 public function toString():String| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
     會傳回字串,此字串代表指定之陣列中的元素。 陣列中的每一個元素 (從索引 0 開始,到最大的索引為止) 都會轉換成以逗號分隔的連接字串。 若要指定自訂的分隔符號,請使用 Array.join() 方法。
     
     
     
String — 陣列元素的字串。
     
      | 
相關 API 元素
範例 ( 如何使用本範例 )
vegnums 變數中。
var vegetables:Array = new Array(); vegetables.push(1); vegetables.push(2); vegetables.push(3); vegetables.push(4); vegetables.push(5); var vegnums:String = vegetables.toString(); trace(vegnums+",6"); // 1,2,3,4,5,6
unshift | () | 方法 | 
 AS3 function unshift(... args):uint| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
在陣列開頭加入一個或多個元素,並傳回新的陣列長度。 陣列中的其他元素都會從其原始位置 i 移動到 i+1。
參數
... args — 要在陣列開頭插入的一個或多個數字、元素或變數。  
     
      | 
uint — 整數,代表陣列的新長度。
     
      | 
相關 API 元素
範例 ( 如何使用本範例 )
names。 Bill 和 Jeff 字串會由 push() 方法加入,而 Alfred 和 Kyle 字串會由 unshift() 方法的兩個呼叫加入到 names 的開頭。
var names:Array = new Array();
names.push("Bill");
names.push("Jeff");
trace(names); // Bill,Jeff
names.unshift("Alfred");
names.unshift("Kyle");
trace(names); // Kyle,Alfred,Bill,Jeff
CASEINSENSITIVE | 常數 | 
public static const CASEINSENSITIVE:uint = 1| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
     會針對 Array 類別排序方法指定不區分大小寫的排序方式。 您可以將這個常數用於 sort() 或 sortOn() 方法中的 options 參數。 
     
此常數的值為 1。
相關 API 元素
DESCENDING | 常數 | 
public static const DESCENDING:uint = 2| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
     會針對 Array 類別排序方法指定遞減排序方式。 您可以將這個常數用於 sort() 或 sortOn() 方法中的 options 參數。 
     
此常數的值為 2。
相關 API 元素
NUMERIC | 常數 | 
public static const NUMERIC:uint = 16| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
     會針對 Array 類別排序方法指定數字 (而非字元字串) 排序方式。 在 options 參數中包含此常數,會使 sort() 與 sortOn() 方法將數字排序為數值,而非數值字元的字串。 如果不使用 NUMERIC 常數,排序便會將每個陣列元素視為字元字串,並以 Unicode 順序產生結果。 
     
     
例如,假設陣列的值是 [2005, 7, 35],如果在 options 參數中「沒有」包含 NUMERIC 常數,排序的陣列會是 [2005, 35, 7],不過如果「有」包含 NUMERIC 常數,排序的陣列便會是 [7, 35, 2005]。 
這個常數只會套用到陣列中的數字,而不會套用到包含數值資料的字串,如 ["23", "5"]。
此常數的值為 16。
相關 API 元素
RETURNINDEXEDARRAY | 常數 | 
public static const RETURNINDEXEDARRAY:uint = 8| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
     會指定排序傳回由陣列索引所組成的陣列。 您可以針對 sort() 或 sortOn() 方法中的 options 參數使用此常數,如此您就能存取陣列元素的多種檢視,同時原始陣列也不會遭到修改。 
     
此常數的值為 8。
相關 API 元素
UNIQUESORT | 常數 | 
public static const UNIQUESORT:uint = 4| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
     會針對 Array 類別排序方法指定唯一的排序需求。 您可以將這個常數用於 sort() 或 sortOn() 方法中的 options 參數。 如果要排序的任何兩個元素或欄位有相同的值,唯一的排序選項就會終止排序。 
     
此常數的值為 4。
相關 API 元素
myArr,不含任何引數且初始長度為 0:
package {
    import flash.display.Sprite;
    public class ArrayExample extends Sprite {
        public function ArrayExample() {
            var myArr:Array = new Array();
            trace(myArr.length); // 0
        }
    }
}
Tue Jun 12 2018, 03:47 PM Z
 
 隱藏繼承公用屬性
 顯示繼承公用屬性