`

自定义排序

    博客分类:
  • flex
阅读更多

自定义数组排序
解决办法
把自定义比较的函数引用传递给sort( ) 方法
讨论
如果要自定义排序,可用sort( ) 方法和自定义比较函数。sort( ) 方法重复调用比较函数对两个数组元素进行比较,比较函数接受两个参数即数组元素(我们称为a和b),根据具体的排序方式返回正数,负数或0。如果返回负数,a排在b前,如果返回0,位置不变,如果返回正数,a排在b后,直到所有元素对比完毕。

下面有个例子对字符串数组进行自定义排序,比如是一个歌曲名数组,在排序时忽略字符串中含有的"The" 字母,首先看看默认的排序:

+展开
-ActionScript
var bands:Array = ["The Clash",
"The Who",
"Led Zeppelin",
"The Beatles",
"Aerosmith",
"Cream"];
bands.sort( );
for(var i:int = 0; i < bands.length; i++) {
trace(bands[i]);
/* 输出:
Aerosmith
Cream
Led Zeppelin
The Beatles
The Clash
The Who
*/

}


给sort( ) 方法传递bandNameSort 比较函数:

+展开
-ActionScript
var bands:Array = ["The Clash",
"The Who",
"Led Zeppelin",
"The Beatles",
"Aerosmith",
"Cream"];
bands.sort(bandNameSort);
for(var i:int = 0; i < bands.length; i++) {
trace(bands[i]);
/*输出
Aerosmith
The Beatles
The Clash
Cream
Led Zeppelin
The Who
*/

}
function bandNameSort(band1:String, band2:String):int
{
band1 = band1.toLowerCase( );
band2 = band2.toLowerCase( );
if(band1.substr(0, 4) == "the ") {
band1 = band1.substr(4);
}
if(band2.substr(0, 4) == "the ") {
band2 = band2.substr(4);
}
if(band1 < band2) {
return -1;
}
else {
return 1;
}
}


bandNameSort( ) 函数把字符串元素转换为小写,然后检测是否含有"The ",如果有则剪切掉,取剩余字符串进行比较

分享到:
评论

相关推荐

    Java 类自定义排序

    Java 类自定义排序 Java 中的自定义排序是指在编写 Java 程序时,通过实现 Comparable 接口来实现对对象的排序。在本节中,我们将通过一个实体类的示例来演示如何实现自定义排序。 自定义排序的必要性 在 Java ...

    java数组自定义排序

    java中数组的自定义排序,种类繁多,简单实现,可自由操控。

    数据库查询自定义排序,适合oracle,MySql,SqlServer,access等等

    在一次做项目的时候,项目已经做完了,过后要求排序要按照要求的方式进行排列,我试了很多方式,通过id,时间排序等都不能满足需求,我还想用存储过程的方式来也太麻烦了,过后我想了一种方式,就是自定义排序,我在...

    vue+element-ui实现穿梭框数据自定义排序

    vue+element-ui实现穿梭框数据自定义排序 实现了穿梭框右侧数据自定义排序的功能

    ListView 数据绑定、数据汇总及自定义排序示例

    1 如何将数据显示到 ListView。 2 如何对 ListView 中的数据进行求和,并显示到 ListView 上。 3 如何对 ListView 进行自定义排序,并且排序后始终保存合计的行在最下方。

    html table列自定义排序排序

    table table自定义列排序;目前支持数值排序,文本(支持中文)排序; 示例: var option = { tableid: '#tableid', sortindex: 7, sorttype: "down", sortby: "text" }; $("#tableid").sortTable(option);

    在ASP.NET 2.0中操作数据:创建自定义排序用户界面(源码)

    在ASP.NET 2.0中操作数据:创建自定义排序用户界面(源码)

    Excel自定义排序.rar

    Excel自定义排序.rar,Excel可以根据数字顺序或字母顺序进行排序,但并不局限于使用标准的排序顺序。如果用户想用一种特殊的非字母顺序的排序方法对一系列数据进行排序,则可以使用自定义排序次序,如本例。

    Flex中如何创建自定义排序DataGrid控件的例子

    Flex中如何创建自定义排序DataGrid控件的例子

    lucene自定义排序实现

    lucene自定义排序实现,大家有兴趣关注我的博客http://blog.csdn.net/wuyinggui10000/article/category/3173543

    excel如何实现按部门、职位等自定义排序.docx

    Excel 实现自定义排序的方法 Excel 是一个功能强大且广泛使用的电子表格软件,它提供了多种排序方式来帮助用户快速地对数据进行排序。在实际工作中,我们经常需要按照部门、职位等自定义顺序对数据进行排序,以便更...

    ecshop分类页筛选属性自定义排序插件

    本人在某宝花260元买的“ecshop分类页筛选属性自定义排序插件”,今日与同“ecshop商品详情页属性排序插件”一起奉上。 ECSHOP的分类列表页有一个“商品筛选”功能,可以对不同品牌不同价格不同属性的商品进行筛选...

    很灵活的javascript 表格排序 功能强大 可自定义排序规则

    功能强大的javascript表格排序,可以设定排序规则,设定哪些列排序,哪些列不排序。运行速度快。两部操作就搞定,使用方便简单!解决服务器端数据库排序的压力!

    ireport交叉报表自定义排序

    在做交叉报表时,使用crosstab控件,可是一般都是按照id或其他描述进行排序,如果想把“合计”放最下面就遇到麻烦了。

    Win7怎么设置给图片文件自定义排序?.docx

    Win7自定义排序设置 Win7操作系统中,用户可以按照自己的需求对图片文件进行自定义排序。本文将指导读者如何在Win7中设置给图片文件自定义排序。 Win7中的文件排序是通过Windows 资源管理器来实现的。Windows 资源...

    STL自定义排序准则

    STL对于C++编程者而言,相信都非常喜爱吧。但是其中的排序准则,你亲自试过修改吗?如何修改?请参考本文档的思路和实现过程吧。

    DataGridView自定义排序

    刚写了一个DataGridView自定义排序的方法,注意,在这个程序中,DataGridView的DataSource不是DataTable ,而是IList集合,加载到DataGridView里全是string类型,在既有文字和数字的地方要进行不同的排序,特别是...

    mapreduce wc单词计数 自定义分区 自定义排序实现

    实现mr的wordcount功能和自定义分区的功能、自定义排序功能;com.ellis.mr1为类似wc功能,com.ellis.mr2为自定义分区功能,com.ellis.mr3为自定义排序功能

    SQL自定义排序

    在查询表时,当表的排序列并非所想要的排序方式并且不能修改表的排序数据时,这个自定义Order By来排序的SQL非常有用,只需要一句简单的查询。

    STL中自定义排序的使用

    NULL 博文链接:https://jacky-dai.iteye.com/blog/2308000

Global site tag (gtag.js) - Google Analytics