Flex 中Array的插入刪除元素

2021-08-25 23:42:08 字數 2690 閱讀 9684

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」

原創 Flex中Array應用

flex中array的應用例項flex裡面,array代表的就是 陣列,它的應用如下 一 如何定義乙個資料array 1 直接定義 2 標籤定義桌子 板凳 書櫃 3 複雜資料定義 二 對陣列進行賦值 1 利用 對陣列進行賦值 var myarray array new array myarray.p...

Flex中 Array 的IndexOf 的作用

flex中 array 的indexof 的作用 1 說明 indexof用於在索引中從小到大查詢,假設查得到就返回索引值,查不到就返回 1 2 例項 1 設計源 xmlns s library xmlns mx library width 100 height 100 creationcomple...

Flex對Array中的物件進行排序操作

flex array物件中本身有乙個sort 方法,該方法預設區分大小寫,以公升序方式對陣列中的元素進行排序,而且不管資料型別為何都當做字串來處理。例如100和99 100會排在前面 因為 100 和 99 中的1在9的前面。如果array中存放的是物件,要對該物件進行排序 可以用如下方法 priv...