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 相关文章推荐
js遍历td tr等html元素
Dec 13 Javascript
兼容IE和Firefox火狐的上下、左右循环无间断滚动JS代码
Apr 19 Javascript
javascript运算符——位运算符全面介绍
Jul 14 Javascript
js 中获取制定的cook信息实现方法
Nov 19 Javascript
JQuery学习总结【二】
Dec 01 Javascript
Jquery删除css属性的简单方法
Dec 04 Javascript
原生js实现日期计算器功能
Feb 17 Javascript
JavaScript之Canvas_动力节点Java学院整理
Jul 04 Javascript
jquery版轮播图效果和extend扩展
Jul 18 jQuery
简单实现jQuery弹窗效果
Oct 30 jQuery
微信小程序实现弹出菜单
Jul 19 Javascript
JavaScript的垃圾回收机制与内存管理
Aug 06 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 XML error parsing SOAP payload on line 1
2010/06/17 PHP
php缓冲 output_buffering的使用详解
2013/06/13 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
2016/09/23 PHP
CI框架实现创建自定义类库的方法
2018/12/25 PHP
php如何比较两个浮点数是否相等详解
2019/02/12 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
2019/09/23 PHP
PHP数组访问常用方法解析
2020/09/05 PHP
教你如何使用PHP输出中文JSON字符串
2014/05/22 Javascript
director.js实现前端路由使用实例
2015/02/03 Javascript
Javascript中的getUTCDay()方法使用详解
2015/06/10 Javascript
关于javascript中dataset的问题小结
2015/11/16 Javascript
JavaScript中的Array 对象(数组对象)
2016/06/02 Javascript
BootStrap Progressbar 实现大文件上传的进度条的实例代码
2016/06/27 Javascript
Vue.js 2.0 和 React、Augular等其他前端框架大比拼
2016/10/08 Javascript
详解动画插件wow.js的使用方法
2017/09/13 Javascript
Swiper自定义分页器使用详解
2017/12/28 Javascript
vue 自定义指令自动获取文本框焦点的方法
2018/08/25 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
2018/10/10 jQuery
webpack4 从零学习常用配置(小结)
2019/05/28 Javascript
前端vue如何使用高德地图
2020/11/05 Javascript
[02:11]DOTA2上海特级锦标赛主赛事第二日RECAP
2016/03/04 DOTA
[01:02:45]完美世界DOTA2联赛 LBZS vs Forest 第三场 11.07
2020/11/09 DOTA
Python2.7读取PDF文件的方法示例
2017/07/13 Python
Django实现快速分页的方法实例
2017/10/22 Python
OpenCV-Python实现轮廓检测实例分析
2018/01/05 Python
Python3生成手写体数字方法
2018/01/30 Python
对sklearn的使用之数据集的拆分与训练详解(python3.6)
2018/12/14 Python
用Python识别人脸,人种等各种信息
2019/07/15 Python
用Python爬取QQ音乐评论并制成词云图的实例
2019/08/24 Python
Python closure闭包解释及其注意点详解
2019/08/28 Python
JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?
2015/10/22 面试题
小学后勤管理制度
2014/01/14 职场文书
语文教学感言
2014/02/06 职场文书
房地产销售经理岗位职责
2015/02/02 职场文书
导游词之丽江普济寺
2019/10/22 职场文书
ORACLE数据库应用开发的三十个注意事项
2021/06/07 Oracle