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