Dar*_*der 4 apache-flex sorting associative-array
我在flex中有以下字典,id喜欢按值排序.找不到任何资源.
'1'=>2, '0' =>1, '3'=>4 ..
Run Code Online (Sandbox Code Playgroud)
有任何想法吗 ?我如何按价值排序?
Dav*_*ote 12
我搜索了类似的解决方案,除了我需要对字典映射进行排序并返回与键值对相关的已排序集合.在找不到已发布的解决方案后,我将下面的方法放在一起.此方法将字典作为输入,创建一个维护关联的数组,然后使用array.sortOn()对结果数组进行排序,并将排序后的结果作为数组返回.为清楚起见,使用下面示例中的数组中的"key"和"value"字段,但可以使用任何字段名称.
此示例假定字符串对象为键,数字对象为值,但当然可以使用任何对象类型,并调整字段参数.
通过使用"key"作为sortOn方法的排序字段,下面的方法也可用于按键而不是值进行排序,并且您可以使用与我在此处使用的降序数字排序不同的排序选项(AS3 SortOn()文档)以下代码是故意非通用的,以便为了示例目的简化它.
public static function sortDictionaryByValue(d:Dictionary):Array
{
var a:Array = new Array();
for (var dictionaryKey:Object in d)
{
a.push({key:dictionaryKey,value:d[dictionaryKey]});
}
a.sortOn("value",[Array.NUMERIC|Array.DESCENDING]);
return a;
}
Run Code Online (Sandbox Code Playgroud)