2011-09-30 31 views
0

好的,所以我有一個m數組(或者是一個在actionscript中的數組數組,因爲它實際上沒有m數組),並且每個數組中的每個數組都創建了一些對象在不同的時間。我想按照每個子陣列中索引爲0的對象的「時間」參數值的降序對超級隊列進行排序。SortOn對象的m數組

我已經試過

superarray.sortOn([0].time, Array.DESCENDING); 

superarray.sortOn("0.time", Array.DESCENDING); 

但這似乎並沒有工作。有什麼建議麼?我會不得不寫我自己的排序功能來做到這一點?如果是的話,最好的方法是什麼?

回答

3

嘗試使用傳遞比較函數的Array.sort函數。這樣的事情:

var superarray:Array = [ 
    [{time:900}, {time:715}, {time:655}], 
    [{time:450}, {time:333}, {time:100}], 
    [{time:999}, {time:75}, {time:30}] 
    ]; 
var sorted:Array = superarray.sort(function(A:Array,B:Array):int { 
    return ObjectUtil.numericCompare(A[0].time, B[0].time); 
    }); 
+0

嘿,這工作。我不知道如何傳遞比較函數。我稍微改變了它以反映我的需求,但這是很好的建議。 – Cyborg771