Flash Lite 2 |
|||
| Flash Lite 2.x ActionScript リファレンスガイド > ActionScript クラス > Array > sort (Array.sort メソッド) | |||
配列内のエレメントをソートします。ソートは Unicode 値に基づいて実行されます (ASCII は Unicode のサブセットです)。
Array.sort() のデフォルトの動作は、次のようになります。
デフォルト設定と異なる設定を使用して配列のソートを行う場合は、options パラメータのエントリで説明されているソートオプションのいずれかを使用することも、ソート処理を行う独自のカスタム関数を作成することもできます。カスタム関数を作成する場合は、最初のパラメータ (compareFunction) としてカスタム関数の名前を使用して、sort() メソッドを呼び出すことで作成できます。
使用できるバージョン : ActionScript 1.0、Flash Lite 2.0 - 配列ソートオプションは Flash Player 7 で追加されました。
compareFunction: Object (オプション) - 配列内のエレメントのソート順を決定する比較関数。エレメント A と B がある場合、compareFunction は次の 3 つの値のいずれかを返します。
options: Number (オプション) - デフォルトのソート動作を変更する数値または定義済み定数の名前。複数指定する場合は、ビット単位の論理和 (OR) | 演算子で区切ります。options パラメータには次の値を指定できます。
このパラメータの詳細については、「Array.sortOn() メソッド」を参照してください。
メモ : Array.sort() は ECMA-262 仕様を拡張した Flash 固有の機能です。ECMA-262 でも定義されていますが、配列ソートオプションは Flash Player 7 で実装したものです。
Array - 戻り値は、次に示すように、指定されたパラメータによって異なります。
シンタックス 1 : 次に、options に値が渡された場合と渡されなかった場合の Array.sort() の例を示します。
var fruits_array: Array = new Array("oranges", "apples", "strawberries", "pineapples", "cherries");
trace(fruits_array); // oranges,apples,strawberries,pineapples,cherries を表示する
fruits_array.sort();
trace(fruits_array); // apples,cherries,oranges,pineapples,strawberries を表示する
trace(fruits_array); // apples,cherries,oranges,pineapples,strawberries を書き込む
fruits_array.sort(Array.DESCENDING);
trace(fruits_array); // strawberries,pineapples,oranges,cherries,apples を表示する
trace(fruits_array); // strawberries,pineapples,oranges,cherries,apples を書き込む
シンタックス 2 : 次に、Array.sort() と比較関数を組み合わせた例を示します。エントリは "名前: パスワード" でソートされます。エントリの名前の部分だけをソート条件として使用します。
var passwords_array: Array = new Array("mom: glam", "ana: ring", "jay: mag", "anne: home", "regina: silly");
function order(a, b): Number {
var name1: String = a.split(": ")[0];
var name2: String = b.split(": ")[0];
if (name1<name2) {
return -1;
} else if (name1>name2) {
return 1;
} else {
return 0;
}
}
trace("Unsorted: ");
//Unsorted: を表示する
trace(passwords_array);
//mom: glam,ana: ring,jay: mag,anne: home,regina: silly を表示する.
//mom: glam,ana: ring,jay: mag,anne: home,regina: silly を書き込む
passwords_array.sort(order);
trace("Sorted: ");
//Sorted: を表示する
trace(passwords_array);
//ana: ring,anne: home,jay: mag,mom: glam,regina: silly を表示する
//ana: ring,anne: home,jay: mag,mom: glam,regina: silly を書き込む
| ビット単位の論理和 (OR) 演算子, sortOn (Array.sortOn メソッド)