彩音 - Adobe AIR - 研究室:XION -Adobe AIR-laboratory
配列を関数の結果でソートする

sort() の引数に関数を指定すると、配列の値を比較して大小比較を行うことができる。指定する関数は戻り値を比較の結果で -1, 0, 1 のいずれかで返すように設計する。


var sizeletter:Array = new Array("SS", "S", "M", "L", "LL", "XL");
function sizeSort(a:String, b:String):int {
var indexa:int = sizeletter.indexOf(a);
var indexb:int = sizeletter.indexOf(b);
if (indexa < indexb) {
return -1;
} else if (indexa > indexb) {
return 1;
} else {
return 0;
}
}

var vlist:Array = new Array("LL", "M", "XL", "S", "L", "SS", "M", "S");
trace (vlist.sort(sizeSort));
// 出力: SS, S, S, M, M, L, LL, XL

索引