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创建对象的写法
Aug 29 Javascript
JS控制阿拉伯数字转为中文大写示例代码
Sep 04 Javascript
使用node.js 获取客户端信息代码分享
Nov 26 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
Nov 15 Javascript
jQuery自制提示框tooltip改进版
Aug 01 Javascript
详解webpack编译多页面vue项目的配置问题
Dec 11 Javascript
使用Vue的slot插槽分发父组件内容实现高度复用、更加灵活的组件(推荐)
May 01 Javascript
动态加载JavaScript文件的3种方式
May 05 Javascript
利用jsonp解决js读取本地json跨域的问题
Dec 11 Javascript
element-ui 文件上传修改文件名的方法示例
Nov 05 Javascript
JS一次前端面试经历记录
Mar 19 Javascript
React更新渲染原理深入分析
Dec 24 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 mail 通过Windows的SMTP发送邮件失败的解决方案
2009/05/27 PHP
PHP关联链接常用代码
2012/11/05 PHP
实例:用 JavaScript 来操作字符串(一些字符串函数)
2007/02/15 Javascript
关于使用runtimeStyle属性问题讨论文章
2007/03/08 Javascript
js 替换
2008/02/19 Javascript
js操作ajax返回的json的注意问题!
2010/02/23 Javascript
GWT中复制到剪贴板 js+flash实现复制 兼容性比较好
2010/03/07 Javascript
淘宝搜索框效果实现分析
2011/03/05 Javascript
jQuery EasyUI API 中文文档 - Draggable 可拖拽
2011/09/29 Javascript
解决JS中乘法的浮点错误的方法
2014/01/03 Javascript
thinkphp实现无限分类(使用递归)
2015/12/19 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
2016/02/05 Javascript
Javascript实现苹果悬浮虚拟按钮
2016/04/10 Javascript
ES6学习笔记之正则表达式和字符串正则方法分析
2017/04/25 Javascript
javascript中数组的常用算法深入分析
2019/03/12 Javascript
vue+Element实现搜索关键字高亮功能
2019/05/28 Javascript
高性能js数组去重(12种方法,史上最全)
2019/12/21 Javascript
vue路由缓存的几种实现方式小结
2020/02/02 Javascript
详解ES6中class的实现原理
2020/10/03 Javascript
vue-video-player视频播放器使用配置详解
2020/10/23 Javascript
json.stringify()与json.parse()的区别以及用处
2021/01/25 Javascript
Python语言的12个基础知识点小结
2014/07/10 Python
Python的内存泄漏及gc模块的使用分析
2014/07/16 Python
Python中实现对list做减法操作介绍
2015/01/09 Python
python内置函数:lambda、map、filter简单介绍
2017/11/16 Python
基于Django与ajax之间的json传输方法
2018/05/29 Python
Python操作mongodb数据库进行模糊查询操作示例
2018/06/09 Python
Django框架模板介绍
2019/01/15 Python
结婚典礼证婚词
2014/01/11 职场文书
教育技术职业规划范文
2014/03/04 职场文书
秋天的怀念教学反思
2014/04/28 职场文书
绿色环保家庭事迹材料
2014/08/31 职场文书
标准版离职证明书
2014/09/12 职场文书
国际贸易实训总结
2015/08/03 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书
关于公司年会的开幕词
2016/03/04 职场文书