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 + ')';
}
}