在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. 解析php file_exists无效的解决办法

    php中file_exists无效的解决办法. 方法1 :据官方手册上描述若php教程的safe mode相关的设置过于苛刻,就会出现这样的情形:尽管文件真实存在也被误报,认为文件不存在. 由于服务器 ...

  2. ECSHOP购物流程收货人信息详细地址显示省市区

    方法一: 1.在flow.php中的 elseif ($_REQUEST['step'] == 'checkout') 中 $_SESSION['flow_consignee'] = $consign ...

  3. lnmp全面优化集合nginx+mysql+php

    lnmp的全名是linux+nginx+mysql+php,既然是全面优化那我们就从linux系统的选择入手.debian系统可以算是 linux各分支中做的比较突出的一类,连谷歌都抛弃linux订制 ...

  4. dapper 自定义数据库字段和代码中Model字段不一致时候的mapping方法

    namespace YourNamespace { /// <summary> /// Uses the Name value of the ColumnAttribute specifi ...

  5. 1046 Shortest Distance (20)

    #include<stdio.h> int main() { int n,m,a,b,tem,pre,p; int i,j; ]; while(scanf("%d",& ...

  6. Only the original thread that created a view hierarchy can touch its views

    在调试软件的时候出现如下的错误: 01-05 20:53:36.492: E/ZZShip(2043): android.view.ViewRootImpl$CalledFromWrongThread ...

  7. 微软职位内部推荐-Principal Dev Manager for Windows Phone Shell

    微软近期Open的职位: Location: China, BeijingDivision: Operations System Group Engineering Group OverviewOSG ...

  8. bzoj 1242: Zju1015 Fishing Net 弦图判定

    1242: Zju1015 Fishing Net弦图判定 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 214  Solved: 81[Submit ...

  9. 获取属性名:PropertyNameHelper

    获取属性名:PropertyNameHelper namespace NCS.Infrastructure.Querying { public static class PropertyNameHel ...

  10. Android 图片缩放

    以下演示将一个ImageView的高度设置为两倍: 布局文件main.xml <?xml version="1.0" encoding="utf-8"?& ...