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 相关文章推荐
js获取元素在浏览器中的绝对位置
Jul 24 Javascript
禁用页面部分JavaScript方法的具体实现
Jul 31 Javascript
javascript中RegExp保留小数点后几位数的方法分享
Aug 13 Javascript
js数组的基本用法及数组根据下标(数值或字符)移除元素
Oct 20 Javascript
sogou地图API用法实例教程
Sep 11 Javascript
JS是按值传递还是按引用传递
Jan 30 Javascript
jquery $(document).ready()和window.onload的区别浅析
Feb 04 Javascript
JS实现带鼠标效果的头像及文章列表代码
Sep 27 Javascript
又一枚精彩的弹幕效果jQuery实现
Jul 25 Javascript
jquery实现界面无刷新加载登陆注册
Jul 30 Javascript
Bootstrap优化站点资源、响应式图片、传送带使用详解3
Oct 14 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
Oct 11 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
支持php4、php5的mysql数据库操作类
2008/01/10 PHP
PHP 作用域解析运算符(::)
2010/07/27 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
2014/11/18 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
2016/10/09 PHP
jQuery 处理网页内容的实现代码
2010/02/15 Javascript
在jquery boxy中添加百度地图坐标拾取注意流程
2014/04/03 Javascript
JSON.parse()和JSON.stringify()使用介绍
2014/06/20 Javascript
Lab.js初次使用笔记
2015/02/28 Javascript
js实现人才网站职位选择功能的方法
2015/08/14 Javascript
jQuery入门之层次选择器实例简析
2015/12/11 Javascript
文件上传的几个示例分享【推荐】
2016/12/16 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
2017/02/08 Javascript
原生js实现放大镜
2017/02/20 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
2017/10/20 jQuery
Vue-cli3项目配置Vue.config.js实战记录
2018/07/29 Javascript
iview同时验证多个表单问题总结
2018/09/29 Javascript
iView框架问题整理小结
2018/10/16 Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
2020/03/10 Javascript
Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现
2020/09/04 Javascript
前端vue+elementUI如何实现记住密码功能
2020/09/20 Javascript
[01:54]TI珍贵瞬间系列(三):翻盘
2020/08/28 DOTA
[01:07:46]完美世界DOTA2联赛循环赛 Magma vs IO BO2第二场 11.01
2020/11/02 DOTA
在Django的上下文中设置变量的方法
2015/07/20 Python
详解Python中contextlib上下文管理模块的用法
2016/06/28 Python
Python读取一个目录下所有目录和文件的方法
2016/07/15 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
2019/04/17 Python
Python3.5文件读与写操作经典实例详解
2019/05/01 Python
OpenCV利用python来实现图像的直方图均衡化
2020/10/21 Python
解决html5中video标签无法播放mp4问题的办法
2017/05/07 HTML / CSS
编写用C语言实现的求n阶阶乘问题的递归算法
2014/10/21 面试题
酒店节能减排方案
2014/05/26 职场文书
篮球比赛口号
2014/06/10 职场文书
刑事附带民事诉讼答辩状
2015/05/22 职场文书
原告代理词范文
2015/05/25 职场文书
基于PostgreSQL/openGauss 的分布式数据库解决方案
2021/12/06 PostgreSQL