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 相关文章推荐
extJs 文本框后面加上说明文字+下拉列表选中值后触发事件
Nov 27 Javascript
Prototype源码浅析 String部分(二)
Jan 16 Javascript
JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
Aug 06 Javascript
AngularJS 指令详细介绍
Jul 27 Javascript
JavaScript中的冒泡排序法
Aug 03 Javascript
VueJs组件prop验证简单介绍
Sep 12 Javascript
js定时器实现倒计时效果
Nov 05 Javascript
详解如何在vue-cli中使用vuex
Aug 07 Javascript
微信小程序实现简单表格
Feb 14 Javascript
vue 子组件watch监听不到prop的解决
Aug 09 Javascript
vue中v-model对select的绑定操作
Aug 31 Javascript
js实现模拟购物商城案例
May 18 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
win7+apache+php+mysql环境配置操作详解
2013/06/10 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
浅谈php的TS和NTS的区别
2019/03/13 PHP
基于jquery的表格排序
2010/09/11 Javascript
关于JavaScript的with 语句的使用方法
2011/05/09 Javascript
createElement与createDocumentFragment的点点区别小结
2011/12/19 Javascript
Document:getElementsByName()使用方法及示例
2013/10/28 Javascript
node.js中的socket.io的广播消息
2014/12/15 Javascript
JavaScript中的值类型详细介绍
2014/12/29 Javascript
JS实现仿新浪黄色经典滑动门效果代码
2015/09/27 Javascript
基于jQuery的Web上传插件Uploadify使用示例
2016/05/19 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
2016/07/26 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
2016/08/15 Javascript
详解Weex基于Vue2.0开发模板搭建
2017/03/20 Javascript
ES6学习笔记之Set和Map数据结构详解
2017/04/07 Javascript
Angular2中select用法之设置默认值与事件详解
2017/05/07 Javascript
JavaScript之promise_动力节点Java学院整理
2017/07/03 Javascript
vue使用axios跨域请求数据问题详解
2017/10/18 Javascript
nodejs 十六进制字符串型数据与btye型数据相互转换
2018/07/30 NodeJs
原生JS实现的简单轮播图功能【适合新手】
2018/08/17 Javascript
vue里面v-bind和Props 利用props绑定动态数据的方法
2018/08/27 Javascript
详解Node.JS模块 process
2020/08/31 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
[05:06]TI4西雅图DOTA2前线报道 海涛密探LGD训练
2014/07/09 DOTA
Python Web框架Flask中使用七牛云存储实例
2015/02/08 Python
在Python的Django框架下使用django-tagging的教程
2015/05/30 Python
关于python的list相关知识(推荐)
2017/08/30 Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
2018/01/02 Python
基于循环神经网络(RNN)的古诗生成器
2018/03/26 Python
Django使用Jinja2模板引擎的示例代码
2019/08/09 Python
使用html5新特性轻松监听任何App自带返回键的示例
2018/03/13 HTML / CSS
市场开发与营销专业求职信
2013/12/31 职场文书
学校关爱留守儿童活动方案
2014/08/27 职场文书
优秀教师个人材料
2014/12/15 职场文书
六年级作文之自救
2019/12/19 职场文书
mysql定时自动备份数据库的方法步骤
2021/07/07 MySQL