2009-04-03 7 views
0

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

ответ

3

Для этого вам понадобится ассоциативный массив (т.е. Object), потому что, когда индексы являются целыми числами вспышки автоматически изменять порядок их от 0 до п как вы, возможно, заметили (Это может быть очень раздражает в вашем случае, но имеет свои причины).

Если вы хотите, чтобы отслеживать ключевые ценности, хак для хранения индексов в значении для каждого элемента массива:

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 

Н.Б. Это можно улучшить, если ваши значения сильные, напечатанные в Vector вместо Array.

+0

Perfect. Благодаря! – typeoneerror