zoukankan      html  css  js  c++  java
  • Flex Array内置排序方法的使用

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

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

    表 sort方法参数说明

    参数

    参数使用说明

    CASEINSENSITIVE

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

    DESCENDING

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

    UNIQUESORT

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

    NUMERIC

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

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

     1 var flexArray:Array=[“adobe”,”Adobe”,”Macromedia”,”flex”,”Flex”];
     2 
     3 flexArray.sort();                                    //对Array类进行排序
     4 
     5 trace(flexArray);                                  //输出“Adobe,Flex,Macromedia,adobe,flex,macromeida”
     6 
     7 flexArray.sort(Array.CASEINSENSITIVE);            //忽略大小写的排序
     8 
     9 trace(flexArray);                                 //输出“Adobe,adobe,Flex,flex Macromedia,macromeida”
    10 
    11 flexArray.sort(Array.DESCENDING);                    //倒序排列
    12 
    13 trace(flexArray);                                  //输出“macromeida,flex,adobe,Macromedia,Flex,Adobe”

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

    1 var flexArray:Array=[“adobe”,”Adobe”,”Macromedia”,”flex”,”Flex”];
    2 
    3 flexArray.resverse();                                       //倒序排列
    4 
    5 trace(flexArray);                                               //输出“macromeida,flex,adobe,Macromedia,Flex,Adobe”

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

     1 var flexArray:Array=new Array();
     2 
     3 flexArray.push({productName:”Flash”,version:”8”});
     4 
     5 flexArray.push({productName:”Flash”,version:”9”});
     6 
     7 flexArray.push({productName:”Flex”,version:”1.5”});
     8 
     9 flexArray.push({productName:”Flex”,version:”2”});
    10 
    11 flexArray.push({productName:”Flex”,version:”3”});
    12 
    13 flexArray.sortOn(version,Array. NUMERIC);
    14 
    15 for(var i:int=0;i<flexArray.length;i++)
    16 {
    17          trace(flexArray[i].productName+”:”+flexArray[i].version);
    18 }

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

    Flex:1.5
    
    Flex:2
    
    Flex:3
    
    Flash:8
    
    Flash:9
  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    【转】Vitalik:Layer-1 短期求创新,长期求保守
    扩容解决方案:状态通道
    以太坊的存储成本
    扩容解决方案:侧链
    区块链:Layer0 通用可扩展性解决方案
    实战演练丨Oracle死锁案例分析,看完你就懂了
  • 原文地址:https://www.cnblogs.com/wahsonleung/p/3182198.html
Copyright © 2011-2022 走看看