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解决由border属性引起的div宽度问题
Nov 26 Javascript
jquery操作checkbox示例分享
Jul 21 Javascript
JS实现仿中关村论坛评分后弹出提示效果的方法
Feb 23 Javascript
浅谈bootstrap源码分析之tab(选项卡)
Jun 06 Javascript
Javascript 基础---Ajax入门必看
Jul 06 Javascript
半个小时学json(json传递示例)
Dec 25 Javascript
jQuery图片加载失败替换默认图片方法汇总
Nov 29 jQuery
简单理解Vue中的nextTick方法
Jan 30 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
Sep 16 Javascript
node.js express框架简介与实现
Jul 23 Javascript
Vue的Options用法说明
Aug 14 Javascript
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
Dec 01 Vue.js
取得传值的函数
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管理内存函数 memory_get_usage()使用介绍
2012/09/23 PHP
PHP框架Swoole定时器Timer特性分析
2014/08/19 PHP
php内嵌函数用法实例
2015/03/20 PHP
PHP实现的蚂蚁爬杆路径算法代码
2015/12/03 PHP
PHP性能优化大全(php.ini)
2016/05/20 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
2017/01/24 PHP
Laravel框架实现抢红包功能示例
2019/10/31 PHP
javascript中数组的concat()方法使用介绍
2013/12/18 Javascript
js获取时间精确到秒(年月日)
2016/03/16 Javascript
js鼠标按键事件和键盘按键事件用法实例汇总
2016/10/03 Javascript
AngularJS入门教程之数据绑定用法示例
2016/11/01 Javascript
React Native实现进度条弹框的示例代码
2017/07/17 Javascript
vue-quill-editor实现图片上传功能
2017/08/08 Javascript
javaScript之split与join的区别(详解)
2017/11/08 Javascript
vue系列之requireJs中引入vue-router的方法
2018/07/18 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
2019/01/24 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
2019/09/11 Javascript
jQuery实现弹出层效果
2019/12/10 jQuery
JS前端广告拦截实现原理解析
2020/02/17 Javascript
详解vue 中 scoped 样式作用域的规则
2020/09/14 Javascript
[02:38]DOTA2英雄基础教程 噬魂鬼
2014/01/03 DOTA
[00:35]可解锁地面特效
2018/12/20 DOTA
python调用机器喇叭发出蜂鸣声(Beep)的方法
2015/03/23 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
2019/01/17 Python
python+pyqt5实现24点小游戏
2019/01/24 Python
python实现的多任务版udp聊天器功能案例
2019/11/13 Python
Python configparser模块应用过程解析
2020/08/14 Python
Python开发入门——迭代的基本使用
2020/09/03 Python
英国领先的票务代理商之一:The Ticket Factory
2019/02/09 全球购物
linux面试题参考答案(11)
2012/05/01 面试题
美术专业学生个人自我评价
2013/09/19 职场文书
机械设计制造及其自动化专业求职信
2014/06/17 职场文书
支行行长竞聘报告
2014/11/06 职场文书
元旦主持词开场白
2015/05/29 职场文书
2016学校先进党组织事迹材料
2016/02/29 职场文书
一篇文章看懂MySQL主从复制与读写分离
2021/11/07 MySQL