·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3的数组排序用法

时间:2013-08-16 15:25cuplayer.com
当sort不加任何参数时,是按照字符串字母顺序排序的,返回值是排序后的数组。注意,如果数组中的元素是数值,就会把数组元素当成字符串来排序,而不是按照数值大小排序

数组排序是常用到的功能,有3种方法:reverse、sort、sortOn.。

1、reverse方法能将数组倒序,返回值是新的数组。

 使用格式如下:

 数组.reverse();

2、sort方法是对数组元素排序,有3种使用方式。

 数组.sort();

数组.sort(排序方式);

数组.sort(比较函数);

3、sortOn是对复杂数据类型的数组,并且需要根据某个属性值来排序。例如,某数组元素都有一个属性值name,希望根据name来排序,那么使用如下方法。

 数组.sort(“name”);

数组.sort(“name”,排序方式);

数组.sort(“name”,比较函数);

 

当sort不加任何参数时,是按照字符串字母顺序排序的,返回值是排序后的数组。注意,如果数组中的元素是数值,就会把数组元素当成字符串来排序,而不是按照数值大小排序。如果想按照数值排序,必须要用NUMERIC方式排序。

例如:trace(数组.sort(Array.NUMERIC));

 

排序方式是一些在Array类中定义好的整形常量,代表几种不同的排序方式,一共有5种。

Array.CASEINSENSITIVE值为1表示不区别大小写,按字母顺序排序,数字从小到大顺序排序。

Array.DESCENDING值为2表示按字母顺序排序。

Array.UNIQUESORT值为4表示必须是唯一性排序,如果比较值结果相同,则放弃排序。

Array.RETURNINDEXEDARRAY值为8表示让sort()和sortOn()函数返回值返回排序后的索引列表,同时保持原数组不变。

Array.NUMBIC值为16表示强制sort()和sortOn()中对数值采用从小到大排序。

排序方式可以同时用多个,使用"|"号隔开。

使用格式如下:

数组.sort(Array. DESCENDING|Array.UNIQUESORT);

数组.sort(Array. DESCENDING|Array.UNIQUESORT|Array.RETURNINDEXEDARRAY);

 

比较函数

比较函数的要求是,有两个参数,返回值是1、0、-1中的一个。

使用格式如下:

function 函数名(参数1:类型,参数2:类型):int{…}

如果返回值为1,那么作为参数1的数组元素应当排在参数2后面;如果返回值为-1,那么作为参数1的数组元素应当排在参数2前面;如果返回值为0,表示比较结果一样,不分先后。返回值为0时,且指定排序方式是Array.UNIQUESORT的话,那么返回值为0。

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器