Сортировка массива объектов в ActionScript 3

Я пытаюсь сортировать array of 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(...) способ?

2 ответов


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

arr.sortOn(['name', 'date'])

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

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

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