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 相关文章推荐
让innerHTML的脚本也可以运行起来
Jul 01 Javascript
Jquery插件 easyUI属性汇总
Jan 19 Javascript
javascript改变position值实现菜单滚动至顶部后固定
Jan 18 Javascript
Jquery 模板数据绑定插件的使用方法详解
Jul 08 Javascript
Node.js中AES加密和其它语言不一致问题解决办法
Mar 10 Javascript
javascript原生和jquery库实现iframe自适应高度和宽度
Jul 18 Javascript
在HTML中插入JavaScript代码的示例
Jun 03 Javascript
Javascript动画效果(1)
Oct 11 Javascript
JS基于正则表达式的替换操作(replace)用法示例
Apr 28 Javascript
Vue.js组件props数据验证实现详解
Oct 19 Javascript
浅析js实现网页截图的两种方式
Nov 01 Javascript
JavaScript实现缓动动画
Nov 25 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+mysql保存和输出文件
2006/10/09 PHP
PHP在字符断点处截断文字的实现代码
2011/04/21 PHP
win2003服务器使用WPS的COM组件的一些问题解决方法
2012/01/11 PHP
php中防止SQL注入的最佳解决方法
2013/04/25 PHP
解析在PHP中使用全局变量的几种方法
2013/06/24 PHP
PHP调用wsdl文件类型的接口代码分享
2014/11/19 PHP
php将文本文件转换csv输出的方法
2014/12/31 PHP
php计算给定日期所在周的开始日期和结束日期示例
2017/02/06 PHP
PHP按一定比例压缩图片的方法
2018/10/12 PHP
PHP7 windows支持
2021/03/09 PHP
简单的JS多重继承示例
2008/03/13 Javascript
让低版本浏览器支持input的placeholder属性(js方法)
2013/04/03 Javascript
js实现横向百叶窗效果网页切换动画效果的方法
2015/03/02 Javascript
Bootstrap3制作自己的导航栏
2016/05/12 Javascript
vue.js实现表格合并示例代码
2016/11/30 Javascript
微信小程序遇到修改数据后页面不渲染的问题解决
2017/03/09 Javascript
Angularjs实现多图片上传预览功能
2018/07/18 Javascript
Vue路由前后端设计总结
2019/08/06 Javascript
2019年度web前端面试题总结(主要为Vue面试题)
2020/01/12 Javascript
详解ES6 中的Object.assign()的用法实例代码
2021/01/11 Javascript
Python中使用socket发送HTTP请求数据接收不完整问题解决方法
2015/02/04 Python
Python 专题二 条件语句和循环语句的基础知识
2017/03/19 Python
python实现在函数图像上添加文字和标注的方法
2019/07/08 Python
css3 media 响应式布局的简单实例
2016/08/03 HTML / CSS
波兰电子产品购物网站:Vobis
2019/05/26 全球购物
在线实验室测试:HealthLabs.com
2020/05/03 全球购物
酒店管理专业学生求职信
2013/09/27 职场文书
英语文学专业学生的自我评价
2013/10/31 职场文书
应届实习生的自我评价范文
2014/01/05 职场文书
新闻编辑自荐书范文
2014/02/12 职场文书
学前班语言教学计划
2015/01/20 职场文书
青岛海底世界导游词
2015/02/11 职场文书
创业计划书之蛋糕店
2019/08/29 职场文书
如何用Navicat操作MySQL
2021/05/12 MySQL
深入理解go slice结构
2021/09/15 Golang
python编程学习使用管道Pipe编写优化代码
2021/11/20 Python