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 日期处理之时区问题
Oct 08 Javascript
JavaScript 变量作用域分析
Jul 04 Javascript
jsp js鼠标移动到指定区域显示选项卡离开时隐藏示例
Jun 14 Javascript
javascript中字符串的定义示例代码
Dec 19 Javascript
js的隐含参数(arguments,callee,caller)使用方法
Jan 28 Javascript
javascript面向对象之定义成员方法实例分析
Jan 13 Javascript
JS实现很实用的对联广告代码(可自适应高度)
Sep 18 Javascript
JavaScript 对象深入学习总结(经典)
Sep 29 Javascript
浅谈JavaScript事件绑定的常用方法及其优缺点分析
Nov 01 Javascript
浅析script标签中的defer与async属性
Nov 30 Javascript
老生常谈ES6中的类
Jul 31 Javascript
vue 避免变量赋值后双向绑定的操作
Nov 07 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 文件上传模型,支持多文件上传
2009/08/13 PHP
PHP的cURL库功能简介 抓取网页、POST数据及其他
2011/04/07 PHP
CI框架自动加载session出现报错的解决办法
2014/06/17 PHP
基于laravel belongsTo使用详解
2019/10/18 PHP
discuz论坛更换域名,详细文件修改步骤
2020/12/09 PHP
学习YUI.Ext 第七天--关于View&amp;JSONView
2007/03/10 Javascript
在JQuery dialog里的服务器控件 事件失效问题
2010/12/08 Javascript
Ext JS添加子组件的误区探讨
2013/06/28 Javascript
JavaScript使用shift方法移除素组第一个元素实例分析
2015/04/06 Javascript
JS中字符串trim()使用示例
2015/05/26 Javascript
jquery自定义表格样式
2015/11/23 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
基于HTML5上使用iScroll实现下拉刷新,上拉加载更多
2016/05/21 Javascript
Javascript中for循环语句的几种写法总结对比
2017/01/23 Javascript
浅谈react受控组件与非受控组件(小结)
2018/02/09 Javascript
JavaScript如何对图片进行黑白化
2018/04/10 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
2018/07/09 jQuery
VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解
2018/11/30 Javascript
jQuery each和js forEach用法比较
2019/02/27 jQuery
Python实现的ini文件操作类分享
2014/11/20 Python
Mac下Supervisor进程监控管理工具的安装与配置
2014/12/16 Python
浅析python中的分片与截断序列
2016/08/09 Python
基于Python3.6+splinter实现自动抢火车票
2018/09/25 Python
Python对切片命名的实现方法
2018/10/16 Python
用python代码将tiff图片存储到jpg的方法
2018/12/04 Python
python 移动图片到另外一个文件夹的实例
2019/01/10 Python
在Python中调用Ping命令,批量IP的方法
2019/01/26 Python
简单了解python的一些位运算技巧
2019/07/13 Python
django迁移数据库错误问题解决
2019/07/29 Python
Python第三方包之DingDingBot钉钉机器人
2020/04/09 Python
Python改变对象的字符串显示的方法
2020/08/01 Python
Python random模块的使用示例
2020/10/10 Python
致跳高运动员加油稿
2014/02/12 职场文书
社区党建工作方案
2014/06/10 职场文书
汉语言文学毕业求职信
2014/07/17 职场文书
码云(gitee)通过git自动同步到阿里云服务器
2022/12/24 Servers