Я пытаюсь отсортировать 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(...)
метод?
Что делать? Если вы пытаетесь, например, отсортируйте по имени, затем по дате, используйте Array.sortOn
.
arr.sortOn(['name', 'date'])
Помимо использования sortOn
, который будет работать для таких полей, как строки и числа, если у вас есть другие объекты или более сложная логика, вы можете передать функцию сравнения в sort () метод.
Ваша функция сравнения будет вызываться функцией сортировки столько раз, сколько необходимо для сортировки вашего массива. Каждый раз он будет передавать вашей функции два объекта массива. Здесь вы определяете, как эти два объекта сортируются, и сообщаете об этом функции сортировки, возвращая: