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 相关文章推荐
求解开jscript.encode代码的asp函数
Feb 28 Javascript
jQuery对表单的操作代码集合
Apr 06 Javascript
JavaScript中的getMilliseconds()方法使用详解
Jun 10 Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
Sep 15 Javascript
JavaScript实战(原生range和自定义特效)简单实例
Aug 21 Javascript
详解如何在vue项目中引入elementUI组件
Feb 11 Javascript
Vue 仿QQ左滑删除组件功能
Mar 12 Javascript
动态加载、移除js/css文件的示例代码
Mar 20 Javascript
vue-cli3 项目从搭建优化到docker部署的方法
Jan 28 Javascript
微信小程序和百度的语音识别接口详解
May 06 Javascript
详解Node.js异步处理的各种写法
Jun 09 Javascript
layer.prompt输入层的例子
Sep 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
echo, print, printf 和 sprintf 区别
2006/12/06 PHP
用来给图片加水印的PHP类
2008/04/09 PHP
PHP 文件上传功能实现代码
2009/06/24 PHP
PHP小程序自动提交到自助友情连接
2009/11/24 PHP
破解.net程序(dll文件)编译和反编译方法
2013/01/31 PHP
使用php判断浏览器的类型和语言的函数代码
2013/02/28 PHP
关于PHP的curl开启问题探讨
2014/04/08 PHP
PHP实现获取FLV文件的时间
2015/02/10 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
2016/01/22 PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
2019/05/06 PHP
jquery 事件对象属性小结
2010/04/27 Javascript
JavaScript判断窗口是否最小化的代码(跨浏览器)
2010/08/01 Javascript
jQuery学习笔记 操作jQuery对象 CSS处理
2012/09/19 Javascript
IE6浏览器下resize事件被执行了多次解决方法
2012/12/11 Javascript
js判断undefined类型示例代码
2014/02/10 Javascript
js实现select跳转功能代码
2014/10/22 Javascript
浅谈javascript对象模型和function对象
2014/12/26 Javascript
js创建对象的方式总结
2015/01/10 Javascript
javascript实现控制的多级下拉菜单
2015/07/05 Javascript
jQuery实现为控件添加水印文字效果(附源码)
2015/12/02 Javascript
JS延时器提示框的应用实例代码解析
2016/04/27 Javascript
微信小程序 教程之wxapp视图容器 swiper
2016/10/19 Javascript
Javascript实现跨域后台设置拦截的方法详解
2017/08/04 Javascript
vue-router项目实战总结篇
2018/02/11 Javascript
编写Python脚本来获取Google搜索结果的示例
2015/05/04 Python
用Python的Django框架来制作一个RSS阅读器
2015/07/22 Python
Python利用正则表达式匹配并截取指定子串及去重的方法
2015/07/30 Python
Python探索之爬取电商售卖信息代码示例
2017/10/27 Python
python+django+sql学生信息管理后台开发
2018/01/11 Python
pytorch读取图像数据转成opencv格式实例
2020/06/02 Python
全球独特生活方式产品和礼品购物网站:AHAlife
2018/09/18 全球购物
函授大专自我鉴定
2013/11/01 职场文书
火锅店营销方案
2014/02/26 职场文书
青年标兵事迹材料
2014/08/16 职场文书
Mysql 用户权限管理实现
2021/05/25 MySQL
MySQL into_Mysql中replace与replace into用法案例详解
2021/09/14 MySQL