麻烦哪位高手给我指出flash脚本中sort()和sortOn()的区别?

我发现他们可使用的option参数都是相同的;如:
1或Array.CASEINSENSITIVE
2或Array.DESCENPING
4或Array.UNIQUE
8或Array.RETURNINDEXEDARRAY
16或Array.NUMERIC
可是我不明白他们之间的区别在于哪呢?还有我想知道在ActionScript2.0里是不是又增加了哪些参数呢?麻烦高手们给详细的指导下~~谢谢!! 最好不要复制的..

sort对数组元素排序
用法:
(1)数组.sort() //默认排序 按照字符串字母顺序排序,如果元素是数值,也会被当成字符串来排序
(2)数组.sort(排序方式) //使用“排序方式”参数来排序,排序方式是一些定义好的整数常量
(3)数组.sort(比较函数) //使用自定义的比较函数,注意此处只可写函数排序
sortOn 当数组元素是复杂数据类型,且需要根据这种对象的某个属性值来排序时使用。比如说某俎元素都有一个属性值name,希望根据name来排序,那么使用的方法如下
用法:
(1)数组.sortOn("name") //根据指定属性,默认排序
(2)数组.sortOn("name",排序方式) //根据指定属性,使用指定的“排序方式”来排序
(3)数组.sortOn("name",比较函数) //根据指定属性,使用自定义的函数排序
排序方式,是指一些再Array类中定义好的整形常量,代表几种不同的排序方式
(1)Array.CASEINSENSITIVE 值为1,表示大小写不敏感按字母顺序排序,如果是数字则从小到大。
(2)Array.DESCENDING 值为2,表示按字母到序排序
(3)Array.UNIQUESORT 值为4,表示必须是唯一性排序,如果比较值结果相同,则放弃排序 返回值为 0
(4)Array.RETURNINDEXEDARRAY 值为8,让sort()和sortOn()函数返回值返回排序后的索引列表,同时保持原数组不变
(5)Array.NUMERIC or 16 值为16,强制sort()和sortOn()中对数值采用从小到大排序。
比较函数的要求是,有两个参数,返回值是1,0,-1中的一个
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-13
你问的是数组的排序吧!
sort()在不传入参数的情况下,默认降序排序。其他的参数想必您都明白了。
sortOn()可用于二维数组的排序。如下:
array={make:"Tseng",year:2008},{make:"Yuen",year:2008};
你想把array按照make来排序就用array.sortOn("make");也可array.sortOn(["make","year"])
这里也可用你提到的参数。如:array.sortOn("make",Array.DESCENDING);

自己多实验Trace下,记忆更清楚.
第2个回答  2013-07-13
array记得加中括号啊 我怎么加不上呢