`
zhouyrt
  • 浏览: 1141826 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

利用js动态类型特性对数组排序

 
阅读更多

首先,看看js和java中关系运算符的区别。这里拿大于号做示例(>)。

 

a、java中的大于号不能用于两个字符串的比较

String s1 = "11", s2 = "12";
System.out.println(s1>s2);//编译报错,不能通过

b、js中的则可以,比较的字符串中各个字符ASCII大小

var s1="11",s2="12";
console.log(s1>s2);//输出false.逐次比较字符的ASCII顺序
 

嗯,利用js这个特性可以很好的对数据进行排序。如下一个数组:

		var eidtionTypeList = [{key:104212,val:"影刻本"},
							   {key:104211,val:"翻刻本"},
							   {key:104210,val:"重刻本"},
							   {key:110,val:"局本"},
							   {key:109,val:"殿本"},
							   {key:108,val:"藍印本"},
							   {key:107,val:"朱印本"},
							   {key:106,val:"套印本"},
							   {key:105,val:"活字印本"},
							   {key:104,val:"刻本"},
							   {key:103,val:"抄本"},
							   {key:102,val:"寫本"},
							   {key:101,val:"稿本"},
							   {key:100,val:""} ];

 

1、按key大小排序

eidtionTypeList.sort(function(a,b){return a.key>b.key;});
console.log(eidtionTypeList);

  输出如下:

0
    Object key=100
1
    Object key=101 val=稿本
2
    Object key=102 val=寫本
3
    Object key=103 val=抄本
4
    Object key=104 val=刻本
5
    Object key=105 val=活字印本
6
    Object key=106 val=套印本
7
    Object key=107 val=朱印本
8
    Object key=108 val=藍印本
9
    Object key=109 val=殿本
10
    Object key=110 val=局本
11
    Object key=104210 val=重刻本
12
    Object key=104211 val=翻刻本
13
    Object key=104212 val=影刻本

 

2、按字符的ASCII码比较

//注意:这里将key转成了字符串类型
eidtionTypeList.sort(function(a,b){return a.key+"">b.key+"";});
console.log(eidtionTypeList);

 输出如下:

   
0
    Object key=100
1
    Object key=101 val=稿本
2
    Object key=102 val=寫本
3
    Object key=103 val=抄本
4
    Object key=104 val=刻本
5
    Object key=104210 val=重刻本
6
    Object key=104211 val=翻刻本
7
    Object key=104212 val=影刻本
8
    Object key=105 val=活字印本
9
    Object key=106 val=套印本
10
    Object key=107 val=朱印本
11
    Object key=108 val=藍印本
12
    Object key=109 val=殿本
13
    Object key=110 val=局本

 

 

因为刻本下有重刻本、翻刻本、影刻本,所以应该是业务上想要的是第二种排序。

0
0
分享到:
评论
1 楼 kun166 2011-01-25  
java语言不支持重载运算符,不过java自己重载了String的“+”运算符。其它运算符都不能用。

相关推荐

    JavaScript-使用javascript开发的排序算法-sorting.zip

    在JavaScript编程语言中,排序算法是开发者经常遇到的基础但关键的概念。这些算法用于对数组或对象...此外,还可以通过实践来学习如何根据具体情况选择合适的排序算法,以及如何利用JavaScript的特性来优化排序过程。

    易语言源码易语言js数字文本排序源码.rar

    在这个源码中,可能是利用易语言调用JavaScript脚本来处理数字文本排序的问题,这样可以利用JavaScript在字符串处理和数组操作上的优势。 数字文本排序通常涉及到字符串的比较和转换。在JavaScript中,可以使用`...

    sortjsJavaScript实现十个常用的排序算法库

    堆排序利用了堆数据结构的特性,将待排序数组构造成一个大顶堆或小顶堆,然后将堆顶元素与末尾元素交换,缩小排序范围,再重新调整堆,直至整个数组有序。 7. **计数排序(Counting Sort)** 计数排序适用于非负...

    JavaScript中常见排序算法详解共19页.pdf.zip

    在JavaScript中,我们可以通过内置的`Array.prototype.sort()`方法对数组进行排序,但默认的排序规则可能并不符合我们的需求,因此掌握各种排序算法有助于我们定制更高效的排序逻辑。 1. 冒泡排序(Bubble Sort):...

    javascript直接排序

    4. 使用现代JavaScript特性:如使用ES6的箭头函数、`let` 和 `const` 等,以及数组的`map()`、`filter()`和`reduce()`等方法,可以使代码更简洁,提高可读性和执行效率。 通过以上步骤,我们可以实现JavaScript直接...

    js的各种排序算法实现(总结)

    JavaScript数组对象提供了`sort()`方法,可以方便地对数组进行排序。默认情况下,`sort()`会按照字符串顺序对数组元素进行排序,但可以通过传递比较函数来实现自定义排序。例如,`systemSort`函数就是利用`sort()`...

    html5仿手机通讯录按字母排序及搜索功能

    - `Array.prototype.sort()`:用于对数组进行排序。 - 正则表达式:在JavaScript中用于字符串匹配和搜索。 在提供的压缩包文件中,可能包含了实现这些功能的HTML、CSS和JavaScript代码,你可以通过阅读和学习这些...

    JS实现给数组对象排序的方法分析

    首先,`Array.prototype.sort()`方法是JavaScript中用于对数组进行原地排序的内置函数。它接受一个可选的比较函数作为参数,该函数定义了元素之间的比较规则。默认情况下,`sort()`方法会将所有元素转换为字符串,...

    使用类型化数组有效地处理柱状数据

    1. **统计计算**:这些库通常包含对数组元素进行统计计算的方法,如求和、平均值、中位数、标准差等。 2. **排序与筛选**:快速地对数据进行排序或根据条件筛选,对于数据探索和分析非常重要。 3. **聚合操作**:...

    stacksort:通过从StackOverflow下载代码片段对数组进行排序。 受http://xkcd.com1185的启发。 抱歉

    **栈排序(StackSort)**是一种使用编程语言的特性,如JavaScript,来实现排序算法的有趣方式。在本例中,我们看到一个项目受到了漫画网站XKCD的1185条目的启发,该条目可能以幽默的方式讨论了利用StackOverflow上的...

    js利用appendChild对<li>标签进行排序的实现方法

    文章中还提到了sort方法的使用,它是JavaScript数组对象中用来对数组元素进行排序的一种方法。sort方法可以接受一个比较函数作为参数,用来定义元素间的排序方式。在本例中,比较函数通过解析数字字符串为整数,并...

    js-sorting-algorithm

    2. **线性对数阶(O(nlogn))排序**:这类排序算法包括快速排序、堆排序和归并排序。这些算法通常比平方阶排序算法更高效,尤其在大规模数据集上表现优秀。 3. **O(n^(1+ε))排序**:其中ε是介于0和1之间的常数,希尔...

    JS简单数组排序操作示例【sort方法】

    默认情况下,`sort()`方法会按照字典顺序(升序)对数组元素进行排序,这意味着它会把所有元素转换为字符串,然后按字母顺序排列。这对于数字数组来说可能不是理想的,因为`"10"`会被排在`"2"`之前。 为了对数字...

    js代码-(算法)冒泡排序

    在JavaScript编程中,我们可以利用其语法特性实现冒泡排序。本文将深入探讨冒泡排序的原理、步骤以及如何用JS代码实现它。 **冒泡排序的原理** 冒泡排序的基本思想是通过比较相邻元素并根据需要交换它们的位置来...

    javascript-algorithm

    1. **排序算法**:如冒泡排序、选择排序、插入排序、快速排序、归并排序和堆排序等,这些算法用于对数组或集合中的元素进行有序排列。 2. **查找算法**:包括线性搜索、二分查找等,帮助我们在数据结构中找到特定的...

    js代码-数组排序方法

    在JavaScript中,数组排序是一种常见的操作,用于对数组中的元素按照特定顺序进行排列。这篇内容将深入探讨JavaScript中的数组排序方法,以及如何在实际开发中有效地利用它们。 首先,JavaScript数组对象提供了一个...

    json格式数据的添加,删除及排序方法.docx

    JavaScript数组的`sort()`方法可以用来对数组进行排序。例如: ```javascript var test = ["100", "23", "325"]; test.sort(function(a, b) { return a - b; }); // 升序排列 ``` - **二维数组排序**: 对于...

    Angularjs使用过滤器完成排序功能

    AngularJS 是一个由Google维护的开源前端JavaScript框架,用于构建动态Web应用程序。它通过双向数据绑定和依赖注入等特性极大地简化了前端开发。在本文中,我们将会深入探讨如何利用AngularJS的过滤器完成排序功能。...

    JS中数据结构与算法---排序算法(Sort Algorithm)实例详解

    因此,理解和掌握各种排序算法的特性,以及如何根据实际情况选择合适的排序算法,对于编写高效的JS代码至关重要。 总结来说,排序算法是编程中不可或缺的一部分,了解其原理和时间复杂度可以帮助我们编写出更加高效...

    Java8-JDK8-新特性学习

    9. **平行数组操作**:`Arrays.parallelSort()`提供了对数组的并行排序,利用多核处理器提高性能。 10. ** Nashorn JavaScript引擎**:Java 8内置了一个JavaScript引擎,允许Java程序与JavaScript代码交互,增强了...

Global site tag (gtag.js) - Google Analytics