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”
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值