2012-08-24 40 views
3

我有由數字數據的這樣一個對象:如何按對象中的數據進行排序? (AS3)

var records:Object = {}; 

records["nh"] = { medinc:66303}; 
records["ct"] = { medinc:65958}; 
records["nj"] = { medinc:65173}; 
records["md"] = { medinc:64596}; 

等等

我想知道如何我可以通過在「medinc」值數字排序的對象?

感謝您的幫助

回答

4
var records:Object = {}; 
var arr:Array = [ 
        records["nh"] = { medinc:66303}, 
        records["ct"] = { medinc:65958}, 
        records["nj"] = { medinc:65173}, 
        records["md"] = { medinc:64596}, 
        records["kk"] = { medinc:61321} 
       ]; 

arr.sortOn("medinc", Array.NUMERIC); 

for each (var value:* in arr){ 
    trace(value.medinc); 
} 

對象是關聯數組,因爲那種,因爲它是毫無意義的,不能訪問索引。相反,把它放在一個數組(Indexed Arrays)中。排序的意思。

並參考以下文檔。

Assoociative Arrays (a.k.a Object)

Indexed Arrays (a.k.a Array)

1

供將來參考,我需要一個array由2索引排序。 A score(降序),如果scores相等,則按id(升序)排序。

下面是它如何做的:

players.sortOn(
    ["score", "id"], 
    [Array.DESCENDING | Array.NUMERIC, Array.NUMERIC] 
); 

|多個選項合併,像DESCENDING | NUMERIC

相關問題