我有一个由如下数字数据组成的对象:
var records:Object = {};
records["nh"] = { medinc:66303};
records["ct"] = { medinc:65958};
records["nj"] = { medinc:65173};
records["md"] = { medinc:64596};
等...
我想知道如何通过“medinc”中的值以数字方式对对象进行排序?
感谢您的帮助
答案 0 :(得分: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);
}
Object是一个关联数组,因为它是排序的,因为它没有意义,没有访问索引。相反,将它放在一个数组(索引数组)中。排序的意思。
并参考以下文档。
答案 1 :(得分:1)
为了将来参考,我需要对array
2个索引进行排序。 score
(降序),如果scores
相等,则按id
(升序)排序。
以下是它的完成方式:
players.sortOn(
["score", "id"],
[Array.DESCENDING | Array.NUMERIC, Array.NUMERIC]
);
管道|
以组合多个选项,例如DESCENDING | NUMERIC
。