如果我有一个数组
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])。
有没有办法从数组中一次删除两个项目,如果它们不是并排的?
答案 0 :(得分:0)
开始从具有最大索引的位置移除:
// it will not change firstPosition if firstPosition < secondPosition
temp.splice(secondPosition, 1);
temp.splice(firstPosition, 1);
这不会影响指数较低的头寸。