Сортировка массива объектов в ActionScript 3 - PullRequest
10 голосов
/ 23 мая 2010

Я пытаюсь отсортировать array из objects с ActionScript 3.

Массив выглядит так:

var arr:Array = new Array ();
arr.push ({name:"John", date:"20080324", message:"Hi"});
arr.push ({name:"Susan", date:"20090528", message:"hello"});

можно ли что-то сделать методом Array.sort(...)? 1010 *

Ответы [ 2 ]

15 голосов
/ 23 мая 2010

Что делать? Если вы пытаетесь, например, сортировка по имени, затем по дате, используйте Array.sortOn.

arr.sortOn(['name', 'date'])
5 голосов
/ 23 мая 2010

Кроме использования sortOn, который будет работать для таких полей, как строки и числа, если у вас есть другие объекты или более сложная логика, вы можете передать функцию сравнения в метод sort () .

Ваша функция сравнения будет вызываться функцией сортировки столько раз, сколько необходимо для сортировки массива.Каждый раз он будет передавать вашей функции два объекта массива.Здесь вы определяете, как эти два объекта сортируют и сообщают это функции сортировки, возвращая:

  • отрицательное число: если первый объект предшествует второму
  • положительное число: если второй объект находится перед первым
  • 0: если оба объекта имеют одинаковый порядок сортировки.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...