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 相关文章推荐
arguments对象
Nov 20 Javascript
ASP.NET jQuery 实例15 通过控件CustomValidator验证CheckBoxList
Feb 03 Javascript
js实现的复制兼容chrome和IE
Apr 03 Javascript
seaJs的模块定义和模块加载浅析
Jun 06 Javascript
js文本框走动跑马灯效果代码分享
Aug 25 Javascript
基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
May 12 Javascript
jQuery中使用animate自定义动画的方法
May 29 Javascript
JS判断两个对象内容是否相等的方法示例
Apr 10 Javascript
深入理解JavaScript继承的多种方式和优缺点
May 12 Javascript
jQuery pagination分页示例详解
Oct 23 jQuery
Node.js API详解之 dns模块用法实例分析
May 15 Javascript
Javascript柯里化实现原理及作用解析
Oct 22 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.ini修改php上传文件大小限制的方法详解
2013/06/17 PHP
解析php中eclipse 用空格替换 tab键
2013/06/24 PHP
PHP文件锁函数flock()详细介绍
2014/11/18 PHP
Laravel使用支付宝进行支付的示例代码
2017/08/16 PHP
cnblogs csdn 代码运行框实现代码
2009/11/02 Javascript
JQuery 操作Javascript对象和数组的工具函数小结
2010/01/22 Javascript
js验证模型自我实现的具体方法
2013/06/21 Javascript
文本域光标操作的jQuery扩展分享
2014/03/10 Javascript
node.js中的fs.close方法使用说明
2014/12/17 Javascript
js+css实现tab菜单切换效果的方法
2015/01/20 Javascript
学习JavaScript设计模式(代理模式)
2015/12/03 Javascript
jQ处理xml文件和xml字符串的方法(详解)
2016/11/22 Javascript
AngularJS变量及过滤器Filter用法分析
2016/11/22 Javascript
js遍历json对象所有key及根据动态key获取值的方法(必看)
2017/03/09 Javascript
vue绑定设置属性的多种方式(5)
2017/08/16 Javascript
Vue中rem与postcss-pxtorem的应用详解
2019/11/20 Javascript
微信小程序实现录音功能
2019/11/22 Javascript
node.js爬虫框架node-crawler初体验
2020/10/29 Javascript
[07:57]DOTA2热力大趴狂欢夜 广州站活动回顾
2013/11/27 DOTA
在Django的上下文中设置变量的方法
2015/07/20 Python
python 实时遍历日志文件
2016/04/12 Python
Python单元测试实例详解
2018/05/25 Python
Python实现base64编码的图片保存到本地功能示例
2018/06/22 Python
PyTorch的Optimizer训练工具的实现
2019/08/18 Python
利用Python校准本地时间的方法教程
2019/10/31 Python
Python openpyxl模块原理及用法解析
2020/01/19 Python
Tensorflow中tf.ConfigProto()的用法详解
2020/02/06 Python
Python表达式的优先级详解
2020/02/18 Python
anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用)
2021/02/01 Python
写出二分查找算法的两种实现
2013/05/13 面试题
详解如何解决使用JSON.stringify时遇到的循环引用问题
2021/03/23 Javascript
财务会计人员岗位职责
2013/11/30 职场文书
会计主管岗位职责
2014/01/03 职场文书
代领学位证书毕业证书委托书
2014/09/30 职场文书
实习介绍信范文
2015/05/05 职场文书
观看建国大业观后感
2015/06/01 职场文书