2010-01-13 3 views
-1

Если у меня есть массивAS3: Соединить два предмета в разных местах?

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

и две переменные для элементов массива:

private var firstPosition; 

private var secondPosition; 

Есть ли способ, чтобы удалить ОБА элементы сразу?

Скажем, если firstPosition = item4 и secondPosition = ст.7 ... тогда firstPosition = температура [3] и secondPosition = температура [6]

Но если я пишу:

temp.splice(firstPosition, 1); 

Тогда secondPosition это temp [5] вместо temp [6] ... так как один из них удален из массива.

Я писал:

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

Я не думаю, что это правильно ... особенно если secondPosition находится в начале «Темп» массива (т.е. температуры [0]).

Есть ли способ удалить сразу два элемента из массива, если они не бок о бок ???

ответ

0

Начала удаления из положения с максимальным индексом:

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

Это не повлияет на позицию с более низким индексом.

+0

Как отсортировать две переменные, firstPosition и secondPosition? Использование indexOf? – redconservatory

+0

Вы не можете сортировать переменные. Просто сравните их, чтобы убедиться, что 'firstPosition secondPosition) swap_values_of (firstPosition, secondPosition)' –