`

自定义排序

    博客分类:
  • 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 ...

    ireport交叉报表自定义排序

    ### iReport交叉报表自定义排序 #### 背景与问题描述 在处理复杂的报表设计时,特别是使用iReport工具创建交叉报表(Crosstab)的过程中,常常会遇到需要对数据进行特定排序的需求。默认情况下,交叉报表中的数据...

    java数组自定义排序

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

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

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

    在ASP.NET 2.0中操作数据之二十七:创建自定义排序用户界面

    本文主要探讨了如何在*** 2.0中使用GridView控件创建一个能够自定义排序的用户界面,并着重讲解如何在相同类别的数据前添加分界行来提升用户体验。 首先,要创建一个能够排序的GridView,需要设置GridView控件的...

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

    在本文中,我们将深入探讨如何使用Vue.js框架与Element-UI库来实现穿梭框(Transfer)数据的自定义排序功能。Element-UI是基于Vue.js的一套丰富的UI组件库,其中包括了穿梭框组件,它常用于在两个列表之间进行数据的...

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

    这个功能强大的JavaScript库,被称为"sorttable",能够帮助开发者轻松实现表格数据的排序,同时提供了自定义排序规则的能力,大大增强了用户体验。 首先,我们要理解sorttable的核心概念。在JavaScript中,排序通常...

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

    本教程将详细讲解如何在Flex中创建一个自定义排序的DataGrid控件。 首先,我们需要了解Flex DataGrid的基本结构。DataGrid控件通常与一个数据提供者关联,这个提供者可以是ArrayCollection、XMLListCollection或...

    lucene自定义排序实现

    因此,了解如何在 Lucene 中实现自定义排序是非常关键的。在这个话题中,我们将深入探讨如何根据特定的业务需求对搜索结果进行定制排序。 首先,我们要明白 Lucene 默认的排序机制。默认情况下,Lucene 搜索结果是...

    STL自定义排序准则

    STL自定义排序准则 STL(Standard Template Library)是C++编程中非常重要的一部分,对于C++编程者来说, STL 的排序准则是一个非常重要的概念。今天,我们将讨论STL自定义排序准则的实现方法。 首先,我们来看...

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

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

    STL中自定义排序的使用

    这篇博客将深入探讨如何在STL中自定义排序规则,以满足特定的排序需求。 首先,`std::sort`函数的原型为: ```cpp template , class Compare&gt; void sort(RandomAccessIterator first, RandomAccessIterator last, ...

    SQL自定义排序

    ### SQL自定义排序知识点详解 #### 一、背景与需求分析 在进行数据库查询操作时,我们经常会遇到这样的情况:数据库中的表按照某列进行了排序,但这种排序方式并不符合我们的实际需求,同时由于种种限制(例如:...

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

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

    在这个特定的案例中,我们不仅实现了基本的WordCount功能,还扩展了MapReduce的能力,通过自定义分区和自定义排序来优化数据处理流程。 首先,基础的`WordCount`实现,通常包含以下四个步骤: 1. **Map阶段**:...

    用vba实现自定义序列排序

    VBA(Visual Basic for Applications)是Excel内置的一种编程语言,通过编写VBA宏,我们可以实现更复杂的自定义排序,包括多级排序。下面将详细讲解如何使用VBA实现自定义序列排序。 首先,理解VBA的基本结构至关...

    Excel模板自定义排序销售记录.zip

    在Excel中,自定义排序是数据分析和管理的重要工具,尤其对于销售记录这样的数据集,能够帮助我们快速定位关键信息,分析销售趋势,以及优化业务策略。以下是对"Excel模板自定义排序销售记录"的详细解释: 1. **...

    MapReduce2中自定义排序分组

    本文将详细探讨在 MapReduce2 中如何实现自定义排序和分组,以满足特定的数据处理需求。 首先,了解 MapReduce 的工作流程是必要的。Map 阶段将输入数据分割成多个块,并在各个节点上并行处理。Reduce 阶段则负责...

Global site tag (gtag.js) - Google Analytics