3

我有一个由这样的数字数据组成的对象:

var records:Object = {};

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

ETC...

我想知道如何通过“medinc”中的值对对象进行数字排序?

谢谢你的帮助

4

2 回答 2

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);
}

对象是一个关联数组,因为排序,因为它没有意义,没有访问索引。相反,将它放在一个数组(索引数组)中。排序的意思。

并参考以下文档。

关联数组(又名对象)

索引数组(又名数组)

于 2012-08-24T04:42:31.730 回答
1

为了将来参考,我需要对array2 个索引进行排序。A score (降序),如果scores相等,则按id (升序)排序。

这是它的完成方式:

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

管道|以组合多个选项,例如DESCENDING | NUMERIC.

于 2014-01-15T14:53:29.487 回答