`
wildwind
  • 浏览: 99564 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

JavaScript数组排序

阅读更多
返回一个元素已经进行了排序的 Array 对象。

arrayobj.sort(sortfunction)

参数

arrayObj
    必选项。任意 Array 对象。
sortFunction
    可选项。是用来确定元素顺序的函数的名称。如果这个参数被省略,
    那么元素将按照 ASCII 字符顺序进行升序排列。

说明

sort 方法将 Array 对象进行适当的排序;
在执行过程中并不会创建新的 Array 对象。

如果为 sortfunction 参数提供了一个函数,那么该函数必须返回下列值之一:

    * 负值,如果所传递的第一个参数比第二个参数小。
    * 零,如果两个参数相等。
    * 正值,如果第一个参数比第二个参数大。

Demo1(默认按字母排序):

<script language="javascript">
  var nameArr = new Array("douguoqiang","hedan","redhacker","panliu888","maxuan","xuejianping","lanse","zhangsan","lisi","wangwu");
  nameArr.sort();
  for (var i = 0; i < nameArr.length; i++) {
    document.writeln(nameArr[i]);
  }
</script>

结果:douguoqiang hedan lanse lisi maxuan panliu888 redhacker wangwu xuejianping zhangsan

Demo(数字排序,sort(prama)方法带参数):

<script>
  var numArr = new Array(12,23,1,4,23,34,2,5);
  numArr.sort(function compare(a,b){return a-b;});
  for (var i = 0; i<numArr.length; i++) {
    document.write(numArr[i] +"<br>");
  }
</script>

结果:
1
2
4
5
12
23
23
34

Demo3(Demo3反排序):

<script>
  var numArr = new Array(12,23,1,4,23,34,2,5);
  numArr.sort(function compare(a,b){return b-a;});
  for (var i = 0; i<numArr.length; i++) {
    document.write(numArr[i] +"<br>");
  }
</script>

结果:
34
23
23
12
5
4
2
1

Demo4(Demo3的第二种写法):

<script>
  var numArr = new Array(12,23,1,4,23,34,2,5);
  numArr.sort(new Function("a","b","return a-b;"));
  for (var i = 0; i<numArr.length; i++) {
    document.write(numArr[i] +"<br>");
  }
</script>

结果:
1
2
4
5
12
23
23
34

Demo5(Demo3的第三种写法):

<script>
  function compare(a,b) {
    return a-b;
  }
  var numArr = new Array(12,23,1,4,23,34,2,5);
  numArr.sort(compare);
  for (var i = 0; i<numArr.length; i++) {
    document.write(numArr[i] +"<br>");
  }
</script>

结果:
1
2
4
5
12
23
23
34

Demo6(Demo3的第四种写法):

<script>
  var compare = function(a,b) {
    return a-b;
  }
  var numArr = new Array(12,23,1,4,23,34,2,5);
  numArr.sort(compare);
  for (var i = 0; i<numArr.length; i++) {
    document.write(numArr[i] +"<br>");
  }
</script>
分享到:
评论
2 楼 lostgdi 2012-08-10  
谢谢分享
1 楼 leeo 2009-05-28  
没看懂……  

相关推荐

    JavaScript数组排序的六种常见算法总结

    开发中,遇到数组排序的需求很频繁,这篇文章会介绍几个常见排序思路。 一、希尔排序(性能最好) 如果要从大到小排列,则 while(arr[n] &gt; arr[n – interval] && n &gt; 0) 。 // 希尔排序算法 function xier(arr){ ...

    javascript数组排序汇总

    本文给大家汇总了一下javascript的数组排序算法,包括冒泡排序、快速排序、插入排序、希尔排序,希望对大家熟悉javascript数组排序能够有所帮助。

    JavaScript数组排序小程序实现解析

    这篇文章主要介绍了JavaScript数组排序小程序实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 JavaScript数组的sort()函数是按字符串大小排序,不能正确...

    javascript 数组排序与对象排序的实例

    主要介绍了javascript 数组排序与对象排序的实例的相关资料,需要的朋友可以参考下

    关于JavaScript的数组排序

    在学习JavaScript中,做的笔记,关于数组排序的,具体是按字母升序排序,按数字升序或降序排序。如有需要,请自行下载。

    JavaScript数组排序功能简单实现

    主要介绍了JavaScript数组排序功能简单实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    javascript 数组排序

    NULL 博文链接:https://highfly-s.iteye.com/blog/1814846

    javascript 数组排序函数

    javascript的数组排序函数 sort方法,默认是按照ASCII 字符顺序进行升序排列。

    JavaScript数组排序reverse()和sort()方法详解

    主要介绍了JavaScript数组排序reverse()和sort()方法详解,需要的朋友可以参考下

    Javascript 数组排序详解

    JavaScript实现多维数组、对象数组排序,其实用的就是原生的sort()方法,用于对数组的元素进行排序。今天我们就来详细探讨下sort()方法

    排序函数(数字或字符串数组排序)

    为普通数组和对象数组排序,对象数组排序时,可指定排序所依据的对象属性,汉字将以汉语拼音为序。

    javascript 数组排序函数sort和reverse使用介绍

    首先我们先说一下reverse方法。 reverse 方法将一个 Array 对象中的元素位置进行反转。... 如果数组中只包含数字,那么数字将降序排列,如果数组中还包含其他类型,就将数组反转并返回数组。 sort 方法 返回

Global site tag (gtag.js) - Google Analytics