
function
arrayPushAt(obj:*,
index:uint,
arr:Array):Array
{
var
new_arr:Array
=
arr.slice(0,
index)
new_arr.push(obj,
arr.slice(index,
arr.length))
return
new_arr
}
另一种在原数组中添加
function
pushAt(obj:*,
index:uint,
arr:Array):void
{
var
len:int
=
arr.push(arr[arr.length])
for
(var
i:uint
=
len
-
1
i
>
index
i--)
{
arr[i]
=
arr[i
-
1]
}
arr[index]
=
obj
}
参数说明(两个方法一样)
obj:需要添加的值
index:需要添加的位置
arr:需要添加到的数组
其中,需要添加的位置可以使用
Array.indexOf(*)来检测,比如LZ的例子,来检测1后面的位置
Array.indexOf(1)//此时得到的值是0
PS:Array是数组变量名
则添加的位置就是0+1=1了
先看数据:
多用了一种方法
只进行了3次测试
push 方法 平均197毫秒左右
length 方法 平局 178毫秒左右 比push快了 大概10%
第三种方法 平均 125毫秒左右 比length快了 越30%
原因:
push 要执行类的方法,
lenth 要计算 类的长度
测试数据用的比较单一..有可能不准确,可以自己测试下~~
什么时候用()?:必须用new Array创建实例时用到(),有两种情况:(标准)一是创建时就有元素:var a:Array=new Array("“工”","d ",3)二是创建时没有元素,空数组:var a:Array=new Array()什么时候用[]?:是简化的创建数组的方法,(简写)如b=[]就是创建了一个空的数组
再如:b=[1,2,4,7,9],创建一个有初始元素的数组
另外,可用于清空数组:b=[]
一个标准写法,一个是简化写法。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)