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

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

10
задан vitto 23 May 2010 в 16:08
поделиться

2 ответа

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

arr.sortOn(['name', 'date'])
15
ответ дан 3 December 2019 в 19:31
поделиться

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

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

  • отрицательное число: если первый объект стоит перед вторым
  • положительное число: если второе объект стоит перед первым
  • 0: если оба объекта имеют одинаковую сортировку порядок.
5
ответ дан 3 December 2019 в 19:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: