javascript 数组排序函数sort和reverse使用介绍


Posted in Javascript onNovember 21, 2013

首先我们先说一下reverse方法。

reverse 方法将一个 Array 对象中的元素位置进行反转。在执行过程中,这个方法并不会创建一个新的 Array 对象。

例如:

var array1 = ['a','cc','bb','hello',false,0,3]; 
var array2 = [3,5,2,1,7,9,10,13]; 
array1.reverse(); 
array2.reverse(); 
alert(array1); 
alert(array2);

如果数组中只包含数字,那么数字将降序排列,如果数组中还包含其他类型,就将数组反转并返回数组。

sort 方法

返回一个元素已经进行了排序的 Array 对象。

arrayobj.sort(sortfunction)

参数

arrayObj

必选项。任意 Array 对象。

sortFunction

可选项。是用来确定元素顺序的函数的名称。如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列。

sort 方法将 Array 对象进行适当的排序;在执行过程中并不会创建新的 Array 对象。

如果为 sortfunction 参数提供了一个函数,那么该函数必须返回下列值之一:

负值,如果所传递的第一个参数比第二个参数小。
零,如果两个参数相等。
正值,如果第一个参数比第二个参数大。

例1:()

var a, l; // 声明变量。 
a = ["X" ,"y" ,"d", "Z", "v","m","r",false,0]; 
l = a.sort(); // 排序数组。 
alert(l); // 返回排序的数组。

这个例子里没有传入比较函数那么元素将按照 ASCII 字符顺序进行升序排列,另外这个数组中包含了多种类型的数据,所以即使传入了比较函数,它依然按照ASCII 字符顺序进行升序排列。

例如

var a, l; // 声明变量。 
a = ["X" ,"y" ,"d", "Z", "v","m","r",false,0]; 
l = a.sort(); // 排序数组。 
alert(l); // 返回排序的数组。 
ll = a.sort(compack); 
alert(ll);//返回与上面一样 
function compack(a,b){ 
return a-b; 
}

当我们需要对数字排序的时候可以使用sort方法,只要给它传入一个比较函数就可以轻松的升序和降序。

升序:

var a, l; // 声明变量。 
a = [6,8,9,5.6,12,17,90]; 
l = a.sort(compack); // 排序数组。 
alert(l); // 返回排序的数组。 function compack(a,b){ 
return a-b; 
}

降序:
var a, l; // 声明变量。 
a = [6,8,9,5.6,12,17,90]; 
l = a.sort(compack); // 排序数组。 
alert(l); // 返回排序的数组。 function compack(a,b){ 
return b-a; 
}

在比较函数里升序返回a-b,降序返回b-a。
Javascript 相关文章推荐
Javascript合并表格中具有相同内容单元格示例
Aug 11 Javascript
js用Date对象的setDate()函数对日期进行加减操作
Sep 18 Javascript
node.js中的fs.fstatSync方法使用说明
Dec 15 Javascript
JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
Sep 15 Javascript
JS实现状态栏跑马灯文字效果代码
Oct 24 Javascript
解析预加载显示图片艺术
Dec 05 Javascript
JavaScript之创意时钟项目(实例讲解)
Oct 23 Javascript
Bootstrap Table实现定时刷新数据的方法
Aug 13 Javascript
解决jquery有正确返回值但不执行success函数的问题
Aug 20 jQuery
Intellij IDEA搭建vue-cli项目的方法步骤
Oct 20 Javascript
js实现通过开始结束控制的计时器
Feb 25 Javascript
javascript进阶篇深拷贝实现的四种方式
Jul 07 Javascript
js拖动div 当鼠标移动时整个div也相应的移动
Nov 21 #Javascript
js获取对象为null的解决方法
Nov 21 #Javascript
tangram框架响应式加载图片方法
Nov 21 #Javascript
使图片旋转的3种解决方案
Nov 21 #Javascript
js单例模式详解实例
Nov 21 #Javascript
Ajax同步与异步传输的示例代码
Nov 21 #Javascript
jquery与prototype框架的详细对比
Nov 21 #Javascript
You might like
PHP闭包(Closure)使用详解
2013/05/02 PHP
解析yahoo邮件用phpmailer发送的实例
2013/06/24 PHP
Codeigniter中mkdir创建目录遇到权限问题和解决方法
2014/07/25 PHP
PHP程序员学习使用Swoole的理由
2018/06/24 PHP
JavaScript下通过的XMLHttpRequest发送请求的代码
2011/06/28 Javascript
浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
2014/06/11 Javascript
jQuery实现table隔行换色和鼠标经过变色的两种方法
2014/06/15 Javascript
js光标定位文本框回车表单提交问题的解决方法
2015/05/11 Javascript
jQuery实现对无序列表的排序功能(附demo源码下载)
2016/06/25 Javascript
Select下拉框模糊查询功能实现代码
2016/07/22 Javascript
浅谈jquery.form.js的ajaxSubmit和ajaxForm的使用
2016/09/09 Javascript
jQuery  ready方法实现原理详解
2016/10/19 Javascript
JS传参及动态修改页面布局
2017/04/13 Javascript
AngularJS2 与 D3.js集成实现自定义可视化的方法
2017/12/01 Javascript
详解Vue单元测试case写法
2018/05/24 Javascript
详解微信小程序入门从这里出发(登录注册、开发工具、文件及结构介绍)
2020/07/21 Javascript
vue项目中播放rtmp视频文件流的方法
2020/09/17 Javascript
[02:51]2014DOTA2国际邀请赛 IG战队官方纪录片
2014/07/21 DOTA
[38:39]KG vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python 和 JS 有哪些相同之处
2017/11/23 Python
Python中文件的写入读取以及附加文字方法
2019/01/23 Python
Django对models里的objects的使用详解
2019/08/17 Python
详解使用Python下载文件的几种方法
2019/10/13 Python
Python-Flask:动态创建表的示例详解
2019/11/22 Python
关于Python-faker的函数效果一览
2019/11/28 Python
Python模块_PyLibTiff读取tif文件的实例
2020/01/13 Python
Python计算IV值的示例讲解
2020/02/28 Python
解决pytorch 交叉熵损失输出为负数的问题
2020/07/07 Python
Python使用grequests并发发送请求的示例
2020/11/05 Python
python使用requests库爬取拉勾网招聘信息的实现
2020/11/20 Python
python录音并调用百度语音识别接口的示例
2020/12/01 Python
日本民宿预约平台:STAY JAPAN
2017/07/01 全球购物
幼儿园老师新年寄语2015
2014/12/08 职场文书
2015年消费者权益日活动总结
2015/02/09 职场文书
2015年事业单位工作总结
2015/04/27 职场文书
标会主持词应该怎么写?
2019/08/15 职场文书