您的位置:首页 > 其它

Flex Array内置排序方法的使用

2013-07-10 15:04 190 查看
在Array类中,提供内置的排序方法。排序是在软件开发的过程中,经常遇到的问题。通过这些内置的方法,可以快速轻便的进行排序操作。

Array类提供sort方法对Array实例进行排序。sort方法没有返回值,直接改变Array中元素的位置。sort方法有一系列参数,这些参数表明排序的方法以及排序的依据。Array类的排序实际上是针对内容的字符串ASCII码进行排序。sort方法的参数使用方式如表所示。

表 sort方法参数说明

参数

参数使用说明

CASEINSENSITIVE

使用该参数进行排序,会忽略元素的大小写的进行排序。例如,A与a的值是相等的。

DESCENDING

使用该参数进行排序会使用倒序排列方式。

UNIQUESORT

使用该参数进行排序,如果在Array中有相同的元素,会中止排序。

NUMERIC

使用该参数进行排序,采用数字的方式进行排序。例如,11进行普通排序的时候会出现在2的前面,因为1的ASCII编码比2要小,使用Number参数使得2出现在11的前面。

使用sort方法以及参数的方式,如下代码所示。

var flexArray:Array=[“adobe”,”Adobe”,”Macromedia”,”flex”,”Flex”];

flexArray.sort();                                    //对Array类进行排序

trace(flexArray);                                  //输出“Adobe,Flex,Macromedia,adobe,flex,macromeida”

flexArray.sort(Array.CASEINSENSITIVE);            //忽略大小写的排序

trace(flexArray);                                 //输出“Adobe,adobe,Flex,flex Macromedia,macromeida”

flexArray.sort(Array.DESCENDING);                    //倒序排列

trace(flexArray);                                  //输出“macromeida,flex,adobe,Macromedia,Flex,Adobe”


Array类还提供直接的倒序排序方法resverse。resverse方法没有参数。使用方式如下代码所示。

var flexArray:Array=[“adobe”,”Adobe”,”Macromedia”,”flex”,”Flex”];

flexArray.resverse();                                       //倒序排列

trace(flexArray);                                               //输出“macromeida,flex,adobe,Macromedia,Flex,Adobe”


Array类还提供一个sortOn的方法,实现对简单对象的内容进行排序。通过sortOn的方法可以指定简单对象的排序字段,从而对整个Array实例进行排序。使用方式如下代码所示。

var flexArray:Array=new Array();

flexArray.push({productName:”Flash”,version:”8”});

flexArray.push({productName:”Flash”,version:”9”});

flexArray.push({productName:”Flex”,version:”1.5”});

flexArray.push({productName:”Flex”,version:”2”});

flexArray.push({productName:”Flex”,version:”3”});

flexArray.sortOn(version,Array. NUMERIC);

for(var i:int=0;i<flexArray.length;i++)
{
trace(flexArray[i].productName+”:”+flexArray[i].version);
}


上面代码运行结果如下所示。

Flex:1.5

Flex:2

Flex:3

Flash:8

Flash:9
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: