Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex Actionscript:按日期排序ArrayCollection:YYYY-MM-DD_Apache Flex_Actionscript 3_Sorting_Date_Arraycollection - Fatal编程技术网

Apache flex Actionscript:按日期排序ArrayCollection:YYYY-MM-DD

Apache flex Actionscript:按日期排序ArrayCollection:YYYY-MM-DD,apache-flex,actionscript-3,sorting,date,arraycollection,Apache Flex,Actionscript 3,Sorting,Date,Arraycollection,我有一个对象的数组集合。每个对象都有以下键/值: {date: 2009-12-01, visits=13555, bouceRate=45} {date: 2009-12-05, visits=46955, bouceRate=45} {date: 2009-12-06, visits=13685, bouceRate=45} {date: 2009-12-02, visits=13685, bouceRate=45} {date: 2009-12-04, visits=68755, bouc

我有一个对象的数组集合。每个对象都有以下键/值:

{date: 2009-12-01, visits=13555, bouceRate=45}
{date: 2009-12-05, visits=46955, bouceRate=45}
{date: 2009-12-06, visits=13685, bouceRate=45}
{date: 2009-12-02, visits=13685, bouceRate=45}
{date: 2009-12-04, visits=68755, bouceRate=45}
{date: 2009-12-03, visits=35875, bouceRate=45}
我需要按日期对此ArrayCollection进行排序,这样它将从过去一直到现在,如下所示:

{date: 2009-12-01, visits=13555, bouceRate=45}
{date: 2009-12-02, visits=13685, bouceRate=45}
{date: 2009-12-03, visits=35875, bouceRate=45}
{date: 2009-12-04, visits=68755, bouceRate=45}
{date: 2009-12-05, visits=46955, bouceRate=45}
{date: 2009-12-06, visits=13685, bouceRate=45}

我尝试了以下方法,但没有成功(未排序):

var-dateSort:Sort=new-Sort();
dateSort.fields=[new SortField(“date”,false,false,true)];
newAreaChartData.sort=日期排序;
newAreaChartData.refresh();
//跟踪输出

对于(var i:int=0;i我认为在调用ArrayCollection.refresh()之前不会应用排序:

这对我很有用:

for(i = 0; i < newAreaChartData.length; ++i) {
    newAreaChartData[i].formattedDate = getActualDate(newAreaChartData[i].date);
    newAreaChartData[i].dateTime =    newAreaChartData[i].formattedDate.time;
    trace(newAreaChartData[i].dateTime);
}

    var dateSort:Sort = new Sort();
    dateSort.fields = [new SortField("dateTime", false, false, true)];
    newAreaChartData.sort = dateSort; 
    newAreaChartData.refresh();

for (var i:int = 0; i <newAreaChartData.length; i++)
    trace ("Object #"+ i + ": " + ObjectUtil.toString(newAreaChartData.getItemAt(i)));
for(i=0;i对于(var i:int=0;i创建SortField的方式:

new SortField("date", false, false, true)
从中,最后一个参数应该表示您希望将值按数字排序,而不是按字符串排序

对象中“日期”字段的类型是什么?如果是字符串,则可能需要按字母顺序排序

new SortField("date", false, false, null)
希望这有帮助


PH

true,但是上面的(编辑过的)仍然没有按日期排序。感谢ErichYeah,正如我提到的,这是有效的,因为您将日期转换为自历元起的毫秒数。这没关系,但由于您使用的是US格式,因此可以使用词汇排序对日期进行排序。
new SortField("date", false, false, true)
new SortField("date", false, false, null)