надо идти задом наперёд, иначе при удалении будут проскакивать следующие индексы
(можно конечно делать i-- при удалении, но это менее гуманоидно)

Код AS3:
for(var i:Number = excess.length-1;i >= 0;i--)
{
if(excess[i] == "предмет1")
{
//удаляем предмет 1
}
if(excess[i] == "предмет2" )
{
//удаляем предмет 2
}
}
Можно использовать оператор "downto"

, но когда я так делаю коллеги ругаются, хотя вроде трюк старый, все должны были привыкнуть, но нет

Код AS3:
for(var i:Number = excess.length; i --> 0;)