Js中sort()方法的用法


Posted in Javascript onNovember 04, 2006

返回一个元素已经进行了排序的 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> 

结果:
1
2
4
5
12
23
23
34
Javascript 相关文章推荐
如何用jquery控制表格奇偶行及活动行颜色
Apr 20 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
Oct 30 Javascript
jQuery前端分页示例分享
Feb 10 Javascript
javascript正则表达式中的replace方法详解
Apr 20 Javascript
jQuery日历插件datepicker用法详解
Mar 03 Javascript
浅谈Node.js:理解stream
Dec 08 Javascript
Bootstrap表单使用方法详解
Feb 17 Javascript
原生JavaScript来实现对dom元素class的操作方法(推荐)
Aug 16 Javascript
vue-cli 使用axios的操作方法及整合axios的多种方法
Sep 12 Javascript
js实现每日签到功能
Nov 29 Javascript
vue项目首屏打开速度慢的解决方法
Mar 31 Javascript
vue登录页面cookie的使用及页面跳转代码
Jul 10 Javascript
取得传值的函数
Oct 27 #Javascript
使javascript也能包含文件
Oct 26 #Javascript
利用XMLHTTP传递参数在另一页面执行并刷新本页
Oct 26 #Javascript
如何用javascript控制上传文件的大小
Oct 26 #Javascript
动态改变textbox的宽高的js
Oct 26 #Javascript
js传值 判断
Oct 26 #Javascript
点击广告后才能获得下载地址
Oct 26 #Javascript
You might like
php数据库密码的找回的步骤
2011/01/12 PHP
php中try catch捕获异常实例详解
2014/11/21 PHP
CI框架文件上传类及图像处理类用法分析
2016/05/18 PHP
基于php判断客户端类型
2016/10/14 PHP
select标记美化--JS式插件、后期加载
2013/04/01 Javascript
网站如何做到完全不需要jQuery也可以满足简单需求
2013/06/27 Javascript
JS网页播放声音实现代码兼容各种浏览器
2013/09/22 Javascript
JQuery中form验证出错信息的查看方法
2013/10/08 Javascript
jQuery获取当前对象标签名称的方法
2014/02/07 Javascript
js清空表单数据的两种方式(遍历+reset)
2014/07/18 Javascript
javascript实现仿腾讯游戏选择
2015/05/14 Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
2015/06/19 Javascript
jquery实现移动端点击图片查看大图特效
2020/09/11 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
2016/10/21 Javascript
原生js实现仿window10系统日历效果的实例
2017/10/31 Javascript
vue-cli启动本地服务局域网不能访问的原因分析
2018/01/22 Javascript
vue图片上传本地预览组件使用详解
2019/02/20 Javascript
JS实现返回上一页并刷新页面的方法分析
2019/07/16 Javascript
layuiAdmin循环遍历展示商品图片列表的方法
2019/09/16 Javascript
Vue中fragment.js使用方法小结
2020/02/17 Javascript
用Python写的图片蜘蛛人代码
2012/08/27 Python
Python和php通信乱码问题解决方法
2014/04/15 Python
Python sqlite3事务处理方法实例分析
2017/06/19 Python
python截取两个单词之间的内容方法
2018/12/25 Python
docker django无法访问redis容器的解决方法
2019/08/21 Python
Python通过socketserver处理多个链接
2020/03/18 Python
python 日志模块logging的使用场景及示例
2021/01/04 Python
python 使用OpenCV进行简单的人像分割与合成
2021/02/02 Python
Nike西班牙官方网站:Nike.com (ES)
2017/10/30 全球购物
介绍Java的内部类
2012/10/27 面试题
新学期班主任寄语
2014/01/18 职场文书
社区居务公开实施方案
2014/03/27 职场文书
《诚实与信任》教学反思
2014/04/10 职场文书
雨花台导游词
2015/02/06 职场文书
通知怎么写?
2019/04/17 职场文书
Redisson实现Redis分布式锁的几种方式
2021/08/07 Redis