大家好我需要对arraycollection进行排序。问题是我的数组是由两个不同的数组组合而成,其中一个年龄段被称为“年龄段”,而另一个年龄被称为“年龄段”。
现在我需要根据年龄对组合数组进行排序,但我有两个不同名称的字段。我可以通过数组并将所有“MYAGE”更改为“AGE”,但我想知道是否有一种方法可以将数组排序为当前状态?
提前致谢
答案 0 :(得分:1)
假设您有一个名为myCollection
的ArrayCollection。我希望以下内容能解决您的要求:
private function compareItems(a:Object, b:Object, fields:Array = null):int
{
var firstValue:Number = "AGE" in a ? a["AGE"] : a["MYAGE"];
var secondValue:Number = "AGE" in b ? b["AGE"] : b["MYAGE"];
if (firstValue == secondValue)
return 0;
return firstValue > secondValue ? 1 : -1;
}
…
var sort:ISort = new Sort();
sort.compareFunction = compareItems;
myCollection.sort = sort;
myCollection.refresh();