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 相关文章推荐
ExtJS 2.0实用简明教程 之ExtJS版的Hello
Apr 29 Javascript
JavaScript 监听textarea中按键事件
Oct 08 Javascript
JQuery的Validation插件中Remote验证的中文问题
Jul 26 Javascript
Jquery Ajax请求代码(2)
Jan 07 Javascript
node.js入门教程迷你书、node.js入门web应用开发完全示例
Apr 06 Javascript
jquery ajax应用中iframe自适应高度问题解决方法
Apr 12 Javascript
jQuery+css3实现Ajax点击后动态删除功能的方法
Aug 10 Javascript
原生JS实现图片轮播效果
Dec 26 Javascript
详解在React项目中安装并使用Less(用法总结)
Mar 18 Javascript
javascript(基于jQuery)实现鼠标获取选中的文字示例【测试可用】
Oct 26 jQuery
Node.js API详解之 net模块实例分析
May 18 Javascript
JavaScript设计模式--简单工厂模式实例分析【XHR工厂案例】
May 23 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
其他功能
2006/10/09 PHP
也谈php网站在线人数统计
2008/04/09 PHP
php模拟post提交请求调用接口示例解析
2020/08/07 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
JavaScript修改css样式style
2008/04/15 Javascript
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
js如何实现设计模式中的模板方法
2013/07/23 Javascript
jQuery的3种请求方式$.post,$.get,$.getJSON
2014/03/28 Javascript
jQuery分别获取选中的复选框值的示例
2014/06/17 Javascript
node.js中的fs.fchmodSync方法使用说明
2014/12/16 Javascript
分享javascript计算时间差的示例代码
2020/03/19 Javascript
jQuery中inArray方法注意事项分析
2016/01/25 Javascript
酷! 不同风格页面布局幻灯片特效js实现
2021/02/19 Javascript
Nuxt配合Node在实际生产中的应用详解
2018/08/07 Javascript
使用kbone解决Vue项目同时支持小程序问题
2019/11/08 Javascript
js实现简单的日历显示效果函数示例
2019/11/25 Javascript
Vue项目vscode 安装eslint插件的方法(代码自动修复)
2020/04/15 Javascript
[01:10:58]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
Python编码时应该注意的几个情况
2013/03/04 Python
Python中的pprint折腾记
2015/01/21 Python
Python进行数据科学工作的简单入门教程
2015/04/01 Python
从列表或字典创建Pandas的DataFrame对象的方法
2019/07/06 Python
Python调用百度根据经纬度查询地址的示例代码
2019/07/07 Python
Python函数生成器原理及使用详解
2020/03/12 Python
IE9下html5初试小刀
2010/09/21 HTML / CSS
HTML5 层的叠加的实现
2020/07/07 HTML / CSS
戴尔加拿大官网:Dell加拿大
2016/09/17 全球购物
元旦联欢会主持词
2014/03/26 职场文书
电大毕业个人生自我鉴定
2014/03/26 职场文书
工商管理专业毕业生自我鉴定2014
2014/10/04 职场文书
学生病假条怎么写
2015/08/17 职场文书
Nginx tp3.2.3 404问题解决方案
2021/03/31 Servers
Java 将PPT幻灯片转为HTML文件的实现思路
2021/06/11 Java/Android
django中websocket的具体使用
2022/01/22 Python
vue实现列表垂直无缝滚动
2022/04/08 Vue.js
vue elementUI表格控制对应列
2022/04/13 Vue.js