在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

Flex Array内置排序方法的使用的更多相关文章

  1. JavaScript内置排序方法sort实现排序操作

    var arr = [10,8,6,9,1,7,2,13,5,1,9]; //sort排序 arr.sort(function(a,b){ //可以改变数组本身的排序方法 return a-b; }) ...

  2. day29 类中的内置函数方法 __str__ __repr__ __call__ isinstance() issubclass()

    __str__()__repr__()__len__() str() 转字符串repr() 让字符原形毕露的方法len() 计算长度 内置的方法很多,但是并不是全部都在object中,比如len(), ...

  3. python - 类的内置 attr 方法

    类的内置 attr 方法 #类的内置 attr 方法: # __getattr__ # __setattr__ # __delattr__ # __getattr__ #到调用一个类不存在数参数时,将 ...

  4. Python 的内置字符串方法(收藏专用)

    Python 的内置字符串方法(收藏专用) method 字符串 string python3.x  python 4.7k 次阅读  ·  读完需要 44 分钟 5 字符串处理是非常常用的技能,但 ...

  5. 字典内置函数&方法

    字典内置函数&方法 Python字典包含了以下内置函数:高佣联盟 www.cgewang.com 序号 函数及描述 1 cmp(dict1, dict2)比较两个字典元素. 2 len(dic ...

  6. 类的两个装饰器classmethod、staticethod和内置魔术方法

    一.两个装饰器@classmethod.@staticmethod @classmethod:把类中的绑定方法变成一个类方法,cls 就等于类名 有什么用? 1.在方法中任然可以引用类中的静态变量 2 ...

  7. PHP算法之排序算法(PHP内置排序函数)

    首先用实例来讲述一下PHP内置的一些排序函数 [a / k] sort [/ rsort]:[保留索引关系 / 按键名(保留键名关系,适用于关联数组)] 对数组进行排序,结束时数组单元将被从最低到最高 ...

  8. 【转】JS内置对象方法

    String内置对象的方法 1. concat() concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串 var str = "Hello"; var out ...

  9. 委托+内置委托方法+多播委托+lambda表达式+事件

    委托概念:如果我们要把方法当做参数来传递的话,就要用到委托.简单来说委托是一个类型,这个类型可以赋值一个方法的引用. 声明委托: 在C#中使用一个类分两个阶段,首选定义这个类,告诉编译器这个类由什么字 ...

随机推荐

  1. Centos下如何修改Mysql的root密码

    1.用帐号登录mysql mysql –u root 或#mysql –uroot –p 2.改变用户数据库 命令:mysql>use mysql mysql> use mysqlRead ...

  2. gulp 不是内部或者外部命令 或者 webpack 不是内部或者外部命令

    gulp安装也正常,但是就是查看gulp -v的时候报错,原因:缺少系统变量PATH或者PATH变量错误 提示:这个系统变量PATH,直接追加就好(多个变量值用分号;隔开),不要删除已经有的系统变量P ...

  3. 就要从SDG离职了

    在知乎上看到有个提问,你为什么从盛大离职.我八月份在盛大游戏实习之间,下个星期准备辞职迎接新的挑战.本文也将提到我在盛大实习的经历以及离职的原因.当然,不会涉及很多SDG内部的管理以及技术上的秘密. ...

  4. mvc 之 @Html.DropDownList

    Dictionary<string, string> myDic = new Dictionary<string, string>(); myDic.Add(System.DB ...

  5. RedHat6.4 用UDEV配置ASM所需磁盘

    同事在装一套RAC测试环境,结果发现原来用ASMLIB来配置磁盘,在安装GRID的时候,最终报错了,经过检查发现居然两边的磁盘不匹配.A机的sdb,sdc分别对应OCRVOL1,OCRVOL2,但是B ...

  6. 【面试题】Https

    https原理, 我很难一下子记住,   https=http+ssl 先说http,  基于tcp/IP协议 传输,有三次握手 http://blog.csdn*net/xubo_zhang/art ...

  7. [gradle] is applicable for argument types

    error: is applicable for argument types: (org.eclipse.jetty.server.Request) 很显然这个错误是因为 不是静态方法造成的,改为静 ...

  8. 【学习总结】 init & initWithFrame & initWithCoder

    //当我们所写的程序里没用用Nib文件(XIB)时,用代码控制视图内容,需要调用initWithFrame去初始化 - (id)initWithFrame:(CGRect)frame { if (se ...

  9. python学习笔记3(字符串)

    Python字符串: 在Python中的字符串被确定为一组连续的字符在引号之间, Python允许在任何对单引号或双引号. 串的子集,可以使用切片操作符可采用([]和[:]),索引从0开始的字符串的开 ...

  10. 开源YYKit-b

    转自 ibireme的博客,大家可以去他博客看看,有很多开发过程的一些调研和评测. YYModel 类似 Mantle/JSONModel 的工具,性能比 Mantle 高一个数量级,有更好的容错性, ...