本类共有 4110 篇文章,今日更新 0

Array.sortOn用法

[ 来源:http://www.91now.com/down/ | 作者: | 时间:2007-5-21 18:18:13 | 浏览: 人次 ]


语句:Array.sortOn
可用性:Flash Player 6,附加功能已在 Flash Player 7 中添加

前几天看了一个帖子是关于数组排序的,详见ASP?boardID=10&ID=207623&page=1
里面大家提出了各种方法,尤其是tigerkin的方法是我没想到过的。
不过呢本人一向比较懒,所以能用自带的就用自带的。
使用Array.sortOn可以很方便的进行排序。先看看用法:

my_array.sortOn("fieldName":String ) : Array
my_array.sortOn("fieldName":String, option:Number | option |... ) : Array
my_array.sortOn( [ "fieldName" , "fieldName" , ... ]:Array) : Array
my_array.sortOn( [ "fieldName" , "fieldName" , ... ]:Array , option:Number | option |... ) : Array
参数fieldname代表字段,参数option内容如下

  • 1 or Array.CASEINSENSITIVE 不区分大小写(a 位于 Z 之前)
  • 2 or Array.DESCENDING 根据ASCII (Unicode) 值降序
  • 4 or Array.UNIQUESORT 唯一性验证
  • 8 or Array.RETURNINDEXEDARRAY 返回包含索引值的数组的排序
  • 16 or Array.NUMERIC 按数值升序排序
  • 18 按数值降序排序

    例子1:对myArray=new Array(1,2,3,25,3,138)排序(降序)

    myArray=new Array(1,2,3,25,3,138)
    myArray.sortOn("",2|16)
    trace(myArray)

    结果

  • 138,25,3,3,2,1
    因为这个数组是没有字段的,所以用""代替了,2|16代表按数值降序排列

    简单吧,像我这种记性差的人就比较适合这样简单的命令

    例子2:对以下数组排序操作

    var my_array= new Array();
    my_array.push({id:1,level:19,Name:"smia"});
    my_array.push({id:2, level:13,Name:"hnyashiro"});
    my_array.push({id:3, level:36,Name:"tophy"});
    my_array.push({id:4, level:24,Name:"tigerkin"});1:按照level数值降序排序

    my_array.sortOn("level",2|16);//一个排行榜就出来了

    //查看

    for(i=0;i<my_array.length;i++)
    {
    trace(my_array[i].id+"/"+my_array[i].level+"/"+my_array[i].Name);
    }

    结果

    2/13/hnyashiro
    1/19/smia
    4/24/tigerkin
    3/36/tophy2:得到一个新数组,经过关于level的排序

    var indexArray:Array= my_array.sortOn("level",8|16);
    trace(indexArray);结果

    1,0,3,2
    注意这里的结果是原数组的索引号
    以上就是Array.sortOn的一些基本用法,其实基本都是自带帮助里有的
    剩下的关于对多个字段进行排序,相信需要这个的朋友一定有能力通过帮助读懂的


  • 广告位