[AS3]AS3下的数组排序(数组排序是常用到的功能)
数组排序是常用到的功能,有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。
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例