[AS3]as3数组Array sort属性的问题详细介绍
对数组中的元素进行排序。 此方法按 Unicode 值排序。
默认情况下,Array.sort()按以下方式进行排序:
1. 排序区分大小写(Z优先于a)。
2. 按升序排序(a优先于b)。
3. 修改该数组以反映排序顺序;在排序后的数组中不按任何特定顺序连续放置具有相同排序字段的多个元素。
4. 元素无论属于何种数据类型,都作为字符串进行排序,所以 100 在 99 之前,这是因为 "1" 的字符串值小于 "9" 的字符串值。
如果要使用与默认设置不同的设置对数组进行排序,可以使用...args参数说明中sortOptions部分所描述的某种排序选项,也可以创建自定义函数来进行排序。 如果创建自定义函数,请调用sort()方法,并将自定义函数的名称作为第一个参数 (compareFunction)。
参数
...args— 指定一个比较函数和确定排序行为的一个或多个值的参数。
此方法使用语法和参数顺序Array.sort(compareFunction, sortOptions),其参数定义如下:
*compareFunction- 一个用来确定数组元素排序顺序的比较函数。 此参数是可选的。 比较函数应该用两个参数进行比较。 给定元素 A和 B,compareFunction的结果可以具有负值、0 或正值:
○ 若返回值为负,则表示 A 在排序后的序列中出现在 B 之前。
○ 若返回值为 0,则表示 A 和 B 具有相同的排序顺序。
○ 若返回值为正,则表示 A 在排序后的序列中出现在 B 之后。
*sortOptions- 一个或多个数字或定义的常量,相互之间由|(按位 OR)运算符隔开,它们将排序的行为从默认行为更改为其它行为。 此参数是可选的。 下面是sortOptions可接受的值:
○ 1 或Array.CASEINSENSITIVE
○ 2 或Array.DESCENDING
○ 4 或Array.UNIQUESORT
○ 8 或Array.RETURNINDEXEDARRAY
○ 16 或Array.NUMERIC
返回 Array— 返回值取决于您是否传递任何参数,如以下列表中所述:
如果为...args参数的sortOptions变量指定值 4 或Array.UNIQUESORT,并且所排序的两个或更多个元素具有相同的排序字段,则Flash 返回值 0 并且不修改数组。
如果为...args参数的sortOptions变量指定值 8 或Array.RETURNINDEXEDARRAY,则 Flash 返回排序后的索引数值数组以反映排序结果,并且不修改数组。否则,Flash 不返回任何内容并修改该数组以反映排序顺序。
热门文章推荐
- [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示例