带有Actionscript 3的arsort

时间:2009-04-03 00:01:55

标签: actionscript-3 arrays

如何对索引数组进行排序并在Actionscript 3.0中维护索引关联。 Array.sort();无论如何,方法似乎重新索引数组。基本上我需要在Actionscript中重新创建arsort php函数。可能的?

2 个答案:

答案 0 :(得分:3)

要这样做,你需要一个关联数组(即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中输入的值很高,则可以改善这种情况。

答案 1 :(得分:0)