ソート

2009年4月16日 23:09

sortは配列に格納されたエレメントを比較してソートするが、
エレメントがクラスのインスタンスで値としての比較に適さない場合、
エレメントを比較して順序づけするための関数である「比較関数」を指定できる。

//比較関数
private function compare(a:Card, b:Card):int {
    var nA:Number = a.no;
    var nB:Number = b.no;
    if (nA > nB) {
        return 1;
    } else if (nA < nB) {
        return -1;
    } else {
        return 0;
    }
}

また、エレメントがインスタンスで、プロパティ値で順序づけしたい場合、Array.sortOn()メソッドを使用することが出来る。

サンプルFLASHでは、ランダムに配置されたカードをそのプロパティの値(アルファベット、no)でソートする。
アルファベットはsortOn()で、noは比較関数を使ってソートしている。
インスタンスのパラメーターでソート出来るのは便利だなぁ。

カテゴリー: programming タグ:

コメントはまだありません

No comments yet.

TrackBack URL

Leave a comment