现在的位置: 首页 > 综合 > 正文

Flex Array 操作

2013年12月19日 ⁄ 综合 ⁄ 共 4616字 ⁄ 字号 评论关闭

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”

抱歉!评论已关闭.