首页 > 设计 > WEB开发 > 正文

13.10.对集合的日期类型数据进行排序

2023-07-22 12:39:10
字体:
来源:转载
供稿:网友
13.10.1. 问题
我需要数据对象中存为字符串的日期值属性进行排序。

13.10.2. 解决办法
为每个日期属性创建Date 对象,使用mx.utils.ObjectUtil 类的dateCompare 方法比较日期。

13.10.3. 讨论
ObjectUtil 类提供一个dateCompare 方法用于检测两个Date 对象哪个更早。你可以用ObjectUtil.dateCompare 方法来比较两个日期的大小。dateCompare 方法返回1, 0, 或-1:如果值为null 或相等返回0,如果第一个值为null 或小于第二个值返回1,如果第二个值为null 或小于第一个值返回-1:
+展开
-ActionScript
import mx.collections.Sort;
import mx.collections.ArrayCollection;
import mx.utils.ObjectUtil;
//the signature of a sort function must be
//function [name](a:Object, b:Object, fields:Array = null):int
private function sortFunction(a:Object, b:Object, fields:Array =
null):int {
var tempDateA:Date = new Date(Date.parse(a.dob));
var tempDateB:Date = new Date(Date.parse(b.dob));
return ObjectUtil.dateCompare(tempDateA, tempDateB);
}
private var arrColl:ArrayCollection;
private function init():void {
arrColl = new ArrayCollection([
{name:"Josh",dob:"08/17/1983"},
{name:"John",dob:"07/30/1946"},
{name:"John", dob:"07/30/1990"},
{name:"John",dob:"07/30/1986"}]);
var sort:Sort = new Sort();
sort.compareFunction = sortFunction;
arrColl.sort = sort;
arrColl.refresh();
trace(arrColl);
}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表