Flash CS3 文档 |
|||
| ActionScript 2.0 语言参考 > ActionScript 类 > Array > sort(Array.sort 方法) | |||
对数组中的元素进行排序。Flash 根据 Unicode 值排序。(ASCII 是 Unicode 的一个子集。)
默认情况下,Array. sort() 按下面的列表中的说明进行排序:
如果您想通过使用不同于默认设置的设置来对数组进行排序,可以使用 options 参数的条目中描述的排序选项之一,或者,也可以创建自己的自定义函数来进行排序。如果您创建自定义函数,则可以通过调用 sort() 方法来使用它,将您的自定义函数的名称用作第一个参数 (compareFunction)。
可用性:ActionScript 1.0、Flash Player 5 ― Flash Player 7 中新增数组排序选项。
compareFunction:Object [可选] ― 一个用来确定数组中元素排序顺序的比较函数。给定元素 A 和 B,compareFunction 的结果可具有以下三个值之一:
options:Number [可选] ― 所定义常数的一个或多个数字或名称,相互之间由 |(按位“或”)运算符隔开,它们将排序的默认行为更改为其它行为。options 参数可接受以下值:
Array.CASEINSENSITIVE 或 1Array.DESCENDING 或 2Array.UNIQUESORT 或 4Array.RETURNINDEXEDARRAY 或 8Array.NUMERIC 或 16有关此参数的详细信息,请参阅 Array.sortOn() 方法。
注意:Array.sort() 是在 ECMA-262 中定义的,但 Flash Player 7 中引入的数组排序选项是对 ECMA-262 规范的特定于 Flash 的扩展。
Array ― 返回值取决于您是否传递任何参数,如下面的列表中所述:
options 参数指定值 4 或 Array.UNIQUESORT,并且所排序的两个或多个元素具有相同的排序字段,则 Flash 返回值 0 并且不修改该数组。options 参数指定值 8 或 Array.RETURNINDEXEDARRAY,则 Flash 返回反映排序结果的数组并且不修改该数组。用法 1:下面的示例显示在为 options 传递值和不传递值这两种情况下如何使用 Array.sort():
var fruits_array:Array = new Array("oranges", "apples", "strawberries", "pineapples", "cherries");
trace(fruits_array); // Displays oranges,apples,strawberries,pineapples,cherries.
fruits_array.sort();
trace(fruits_array); // Displays apples,cherries,oranges,pineapples,strawberries.
trace(fruits_array); // Writes apples,cherries,oranges,pineapples,strawberries.
fruits_array.sort(Array.DESCENDING);
trace(fruits_array); // Displays strawberries,pineapples,oranges,cherries,apples.
trace(fruits_array); // Writes strawberries,pineapples,oranges,cherries,apples.
用法 2:下面的示例将 Array.sort() 用于比较函数。条目是按照 name:password 的形式排序的。仅使用条目的名称部分作为关键字排序。
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:");
//Displays Unsorted:
trace(passwords_array);
//Displays mom:glam,ana:ring,jay:mag,anne:home,regina:silly.
//Writes mom:glam,ana:ring,jay:mag,anne:home,regina:silly
passwords_array.sort(order);
trace("Sorted:");
//Displays Sorted:
trace(passwords_array);
//Displays ana:ring,anne:home,jay:mag,mom:glam,regina:silly.
//Writes ana:ring,anne:home,jay:mag,mom:glam,regina:silly.
| 按位 OR 运算符, sortOn(Array.sortOn 方法)
Flash CS3
当前页: http://livedocs.adobe.com/flash/9.0_cn/main/00001366.html