Арсорт с Actionscript 3 - PullRequest
       8

Арсорт с Actionscript 3

0 голосов
/ 03 апреля 2009

Как можно отсортировать индексированный массив и поддерживать связь индексов в Actionscript 3.0. Array.sort (); Кажется, метод переиндексирует массив, несмотря ни на что. В основном мне нужно воссоздать функцию arsort php в Actionscript. Возможно ли это?

Ответы [ 2 ]

3 голосов
/ 03 апреля 2009

Для этого вам понадобится ассоциативный массив (т. Е. 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.

0 голосов
/ 03 апреля 2009
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...