There are five such optional flags that you can pass to either sort() or sortOn():
CASEINSENSITIVE DESCENDING NUMERIC RETURNINDEXEDARRAY UNIQUESORT package{ import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var bookshelf:Array = new Array(3); bookshelf[0] = new Book("A","a",1999); bookshelf[1] = new Book("B","b",2000); bookshelf[2] = new Book("C","c",2001); bookshelf.sort(byDate, Array.NUMERIC | Array.DESCENDING); trace(bookshelf.join("\n")); } function byDate(valueA:Book, valueB:Book):Number { if (valueA.year == valueB.year) {return 0;} else if (valueA.year < valueB.year) {return -1;} else {return 1;} } } } class Book { public var title:String; public var author:String; public var year:int; public function Book (title:String, author:String, year:int) { this.title = title; this.author = author; this.year = year; } public function toString():String { return '"' + title + '", ' + author + ' (' + year + ')'; } }
1. | The sortOn( ) can sort on more than one field | ||
2. | sortOn( ) supports sort modifiers |