AS3:在不同的地方拼接两件物品?

时间:2010-01-13 15:50:30

标签: actionscript-3 arrays splice

如果我有一个数组

private var temp:Array = [item1, item2, item3, item4, item5, item6, item7...etc];

和数组中项目的两个变量:

private var firstPosition;

private var secondPosition;

有没有办法一次删除两个项目?

说,如果firstPosition = item4,secondPosition = item7 ...则firstPosition = temp [3]和secondPosition = temp [6]

但如果我写:

temp.splice(firstPosition, 1);

然后secondPosition是temp [5]而不是temp [6] ......因为已经从数组中删除了一个。

我一直在写:

temp.splice(firstPosition,1);
temp.splice(secondPosition-1,1);

我不认为这是正确的...特别是如果secondPosition位于“temp”数组的开头(即temp [0])。

有没有办法从数组中一次删除两个项目,如果它们不是并排的?

1 个答案:

答案 0 :(得分:0)

开始从具有最大索引的位置移除:

// it will not change firstPosition if firstPosition < secondPosition
temp.splice(secondPosition, 1); 
temp.splice(firstPosition, 1);

这不会影响指数较低的头寸。