Flex Array 操作

Array提供了多種方法插入和刪除元素。通過這些方法,可以快速按需要操作Array中的元素。Array類提供了一對方法push和pop方法,使得Array類實現了棧的結構。push方法可以將元素插入到Array的尾部。pop方法刪除Array最尾部的元素。這樣就實現了一個先進後出的棧結構。實現代碼如下所示。

var flexArray:Array=new Array();

flexArray.push(“Adobe”);                                                                    //添加元素“Adobe”到Array的尾部

trace(flexArray);                                                                                    //輸出“Adobe”

flexArray.push(“Macromedia”);                                                          //添加元素“Macromedia”到Array的尾部

trace(flexArray);                                                                                    //輸出“Adobe,Macromeida”

flexArray.push(“Flex”);                                                                         //添加元素“Flex”到Array的尾部

trace(flexArray);                                                                                    //輸出“Adobe,Macromeida,Flex”

flexArray.pop();                                                                                     //刪除Array尾部元素

trace(flexArray);                                                                                    //輸出“Adobe,Macromeida”

flexArray.pop();                                                                                     //刪除Array尾部元素

trace(flexArray);                                                                                    //輸出“Adobe”

flexArray.pop();                                                                                     //刪除Array尾部元素

trace(flexArray);                                                                                     //輸出“”

由上面的代碼可以看出,通過push和pop方法可以用一個Array類的一個實例構建一個棧的數據結構。通過這樣的數據結構,可以實現更爲複雜的算法。

Array類也提供了一組shift和unshift的方法向Array的實例添加元素和刪除元素。與push與pop不同,unshift添加方式是在Array實例的頭部添加元素。而shift方法是從Array類實例的頭部開始刪除元素。如下代碼所示。

var flexArray:Array=new Array();

flexArray. unshift (“Adobe”);                                                               //添加元素“Adobe”到Array的頭部

trace(flexArray);                                                                                    //輸出“Adobe”

flexArray. unshift (“Macromedia”);                                                     //添加元素“Macromedia”到Array的頭部

trace(flexArray);                                                                                    //輸出“Macromeida, Adobe”

flexArray. unshift (“Flex”);                                                                    //添加元素“Flex”到Array的頭部

trace(flexArray);                                                                                    //輸出“Flex, Macromeida, Adobe”

flexArray. shift ();                                                                                   //刪除Array頭部元素

trace(flexArray);                                                                                    //輸出“Macromeida, Adobe”

flexArray. shift ();                                                                                   //刪除Array頭部元素

trace(flexArray);                                                                                    //輸出“Adobe”

flexArray. shift ();                                                                                   //刪除Array頭部元素

trace(flexArray);                                                                                    //輸出“”

除了上面提到的這幾種順序的插入和刪除Array元素的方法外,Array類還提供了一個方法splice用來通過指定位置添加或者刪除元素。splice方法使用的方式如下代碼所示。

var flexArray:Array=[“Adobe”,”Flex”];

flexArray.splice(1,0,”Maromedia”);     //刪除從索引位置1開始的0個元素,添加”Maromedia”到實例中

trace(flexArray);                                      //輸出“Adobe,Macromeida,Flex”

flexArray.splice(1,1);                             //刪除從索引位置1開始的1個元素

trace(flexArray);                                      //輸出“Adobe,Flex”

flexArray.splice(1,1,”Flex3”);                //刪除從索引位置1開始的1個元素,添加” Flex3”到實例中

trace(flexArray);                                      //輸出“Adobe,Flex3”

splice方法有兩個整型參數。第一個整型參數用來指定操作元素的索引位置。第二個整型參數指定刪除元素的個數,如果爲0那麼是不刪除元素的。如果存在第三個參數,則表示進行完刪除後插入的元素。這樣通過splice就可以一次完成指定位置先刪除後插入的替換操作。

在使用Array類實例的過程中可以通過delete關鍵字進行刪除操作。通過delete關鍵字進行刪除時不改變Array的長度。訪問被刪除元素返回undefined類型。使用方法如下所示。

var flexArray:Array=[“Adobe”,”Macromedia”,”Flex”];

delete(flexArray[1]);                                                  //刪除索引位置爲1的元素

trace(flexArray);                                                        //輸出““Adobe,,Flex””

trace(flexArray[1]);                                                    //輸出“undefined”

trace(flexArray.length);                                            //輸出3

減小Array實例的長度定義也會刪除新長度定義之外的元素。如下代碼所示。

var flexArray=[“Adobe”,”Macromedia”,”Flex”];

flexArray.length=2;                                                   //改變Array長度的定義

trace(flexArray);                                                        //輸出“Adobe,Macromedia”

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章