Сортировать по m-массиву объектов - PullRequest
0 голосов
/ 30 сентября 2011

Хорошо, поэтому у меня есть m-массив (или массив массивов в ActionScript, так как в действительности у него нет m-массивов), и в каждом массиве в супер-массиве есть несколько объектов, созданных в разное время. Я хочу отсортировать супер-массив по убыванию значения параметра "время" объекта с индексом 0 в каждом подмассиве.

Я пробовал

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

и

superarray.sortOn("0.time", Array.DESCENDING);

но это не похоже на работу. Какие-либо предложения? Должен ли я просто написать свою собственную функцию сортировки, чтобы сделать это? Если да, то как лучше это сделать?

1 Ответ

3 голосов
/ 30 сентября 2011

Попробуйте использовать функцию 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);
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...