Показать сообщение отдельно
Старый 02.04.2014, 19:11
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 8  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Вызывать каждый раз splice может быть накладно.
Вот скоростной вариант:
Код AS3:
var lenght:uint 				= items.length;
var currentIndex:uint 			= 0;
var i:uint;
var item:ItemObject;
for (i = 0; i < lenght; i++)
{
	item 					= items[i];
 
 
	// Тут производим действия над элементом
	// ...
 
	if (checkItem(items[i])) //если нужно удалять
    {
		items[i] 			= null;
        continue;
    }
 
	// Сдвиг текущих элементов в списке, если предыдущие были удалены.
	if (currentIndex != i)
	{
		items[currentIndex] = item;
		items[i] 			= null;
	}
	currentIndex++;
}
 
// Обрезание списка от отработанных элементов
if (lenght != currentIndex)
	items.length 			= currentIndex;
На основе класса Juggler (Starling)
__________________
Дети не должны знать о своих родителях


Последний раз редактировалось Tails; 04.04.2014 в 10:29.