Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.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
Actionscript 3 SortOn对象的m数组_Actionscript 3 - Fatal编程技术网

Actionscript 3 SortOn对象的m数组

Actionscript 3 SortOn对象的m数组,actionscript-3,Actionscript 3,好的,我有一个m数组(或者actionscript中的数组数组,因为它实际上没有m数组),superarray中的每个数组都有许多在不同时间创建的对象。我想按照每个子数组中索引为0的对象的“时间”参数值的降序对超级数组进行排序 我试过了 superarray.sortOn([0].time, Array.DESCENDING); 及 但这似乎不起作用。有什么建议吗?我只需要编写自己的排序函数就可以做到这一点吗?如果是这样,最好的方法是什么?尝试使用Array.sort函数传递比较函数。大概是这

好的,我有一个m数组(或者actionscript中的数组数组,因为它实际上没有m数组),superarray中的每个数组都有许多在不同时间创建的对象。我想按照每个子数组中索引为0的对象的“时间”参数值的降序对超级数组进行排序

我试过了

superarray.sortOn([0].time, Array.DESCENDING);


但这似乎不起作用。有什么建议吗?我只需要编写自己的排序函数就可以做到这一点吗?如果是这样,最好的方法是什么?

尝试使用Array.sort函数传递比较函数。大概是这样的:

var superarray:Array = [
    [{time:900}, {time:715}, {time:655}],
    [{time:450}, {time:333}, {time:100}],
    [{time:999}, {time:75}, {time:30}]
    ];
var sorted:Array = superarray.sort( function(A:Array,B:Array):int {
    return ObjectUtil.numericCompare(A[0].time, B[0].time);
    });

尝试使用Array.sort函数传递比较函数。大概是这样的:

var superarray:Array = [
    [{time:900}, {time:715}, {time:655}],
    [{time:450}, {time:333}, {time:100}],
    [{time:999}, {time:75}, {time:30}]
    ];
var sorted:Array = superarray.sort( function(A:Array,B:Array):int {
    return ObjectUtil.numericCompare(A[0].time, B[0].time);
    });

嘿,这起作用了。我不知道如何传递比较函数。我稍微改变了一下,以反映我的需要,但这是一个很好的建议。嘿,这很有效。我不知道如何传递比较函数。我稍微改变了一下,以反映我的需要,但这是一个很好的建议。