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 相关文章推荐
几个比较实用的JavaScript 测试及效验工具
Apr 18 Javascript
在Javascript中 声明时用&quot;var&quot;与不用&quot;var&quot;的区别
Apr 15 Javascript
js实现图片在未加载完成前显示加载中字样
Sep 03 Javascript
Atitit.js的键盘按键事件捆绑and事件调度
Apr 01 Javascript
vue事件修饰符和按键修饰符用法总结
Jul 25 Javascript
jQuery中each循环的跳出和结束实例
Aug 16 jQuery
JS插件clipboard.js实现一键复制粘贴功能
Dec 04 Javascript
详解Vue开发微信H5微信分享签名失败问题解决方案
Aug 09 Javascript
javascript中call()、apply()的区别
Mar 21 Javascript
详解mpvue中使用vant时需要注意的onChange事件的坑
May 16 Javascript
js刷新页面location.reload()用法详解
Dec 09 Javascript
vue实现动态给id赋值,点击事件获取当前点击的元素的id操作
Nov 09 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
phpfans留言版用到的install.php
2007/01/04 PHP
php排序算法(冒泡排序,快速排序)
2012/10/09 PHP
使用javascript获取flash加载的百分比的实现代码
2011/05/25 Javascript
js获取窗口相对于屏幕左边和上边的位置坐标
2014/05/15 Javascript
JavaScript学习笔记之JS对象
2015/01/22 Javascript
基于jquery实现人物头像跟随鼠标转动
2015/08/23 Javascript
JS+CSS3实现超炫的散列画廊特效
2016/07/16 Javascript
AngularJS下对数组的对比分析
2016/08/24 Javascript
javascript实现复选框全选或反选
2017/02/04 Javascript
vue.js移动端tab组件的封装实践实例
2017/06/30 Javascript
基于Vue的延迟加载插件vue-view-lazy
2018/05/21 Javascript
JavaScript引用类型RegExp基本用法详解
2018/08/09 Javascript
Django模板继承 extend标签实例代码详解
2019/05/16 Javascript
js+canvas实现五子棋小游戏
2020/08/02 Javascript
[03:20]次级联赛厮杀超职业 现超级兵对拆世纪大战
2014/10/30 DOTA
[03:00]DOTA2-DPC中国联赛1月18日Recap集锦
2021/03/11 DOTA
使用Python进行稳定可靠的文件操作详解
2013/12/31 Python
Python 使用requests模块发送GET和POST请求的实现代码
2016/09/21 Python
python文本数据相似度的度量
2018/03/12 Python
Python实现多进程的四种方式
2019/02/22 Python
解决pycharm下os.system执行命令返回有中文乱码的问题
2019/07/07 Python
python实现AHP算法的方法实例(层次分析法)
2020/09/09 Python
详解HTML5常用的语义化标签
2019/09/27 HTML / CSS
美国知名的百货清仓店:Neiman Marcus Last Call
2016/08/03 全球购物
法国和欧洲海边和滑雪度假:Pierre & Vacances
2017/01/04 全球购物
新西兰领先的鞋类和靴子网上商城:Merchant 1948
2017/09/08 全球购物
高中体育教学反思
2014/01/29 职场文书
《雾凇》教学反思
2014/02/17 职场文书
学校社会实践活动总结
2014/07/03 职场文书
2015届大学生就业推荐表自我评价
2014/09/27 职场文书
党干部专题民主生活会对照检查材料思想汇报
2014/10/06 职场文书
大学生实训报告总结
2014/11/05 职场文书
4S店客服专员岗位职责
2015/04/07 职场文书
关于感恩的作文
2019/08/26 职场文书
DIV CSS实现网页背景半透明效果
2021/12/06 HTML / CSS
vue3 自定义图片放大器效果的示例代码
2022/07/23 Vue.js