Для этого вам понадобится ассоциативный массив (т. Е. Object
), потому что когда индексы являются целыми числами, flash автоматически переупорядочивает их от 0 до n , как вы могли заметить (это может быть довольно раздражает в вашем случае, но есть свои причины).
Если вы хотите отслеживать значения ключей, то взломать сохранение индексов в значении для каждого элемента в массиве:
var array:Object = new Array();
array.push({index:0,name:"Tom"});
array.push({index:1,name:"Andrew"});
array.push({index:2,name:"Mark"});
array.sortOn("name");
for each(var item:Object in array)
trace(item.index, item.name);
Это будет трассировка:
1 Andrew
2 Mark
0 Tom
n.b. Это может быть улучшено, если ваши значения строго напечатаны в Vector
вместо Array
.