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玩一玩WSH吧
Feb 23 Javascript
js打开新窗口方法整理
Feb 17 Javascript
node.js中的http.request方法使用说明
Dec 14 Javascript
jQuery实现hover合成事件的方法
Aug 06 Javascript
AngularJS 使用$sce控制代码安全检查
Jan 05 Javascript
原生js实现ajax方法(超简单)
Sep 20 Javascript
jQuery实现简单弹窗遮罩效果
Feb 27 Javascript
浅谈sass在vue注意的地方
Aug 10 Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
Mar 21 Javascript
详解vue文件中使用echarts.js的两种方式
Oct 18 Javascript
微信小程序实现登录遮罩效果
Nov 01 Javascript
每天学点Vue源码之vm.$mount挂载函数
Mar 11 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
简单实用的.net DataTable导出Execl
2013/10/28 PHP
Codeigniter操作数据库表的优化写法总结
2014/06/12 PHP
PHP+MySQL删除操作实例
2015/01/21 PHP
PHP实现通过正则表达式替换回调的内容标签
2015/06/15 PHP
ThinkPHP中session函数详解
2016/09/14 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
js的写法基础分析
2011/01/17 Javascript
window.location.href = window.location.href 跳转无反应 a超链接onclick事件写法
2013/08/21 Javascript
分享9点个人认为比较重要的javascript 编程技巧
2015/04/27 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
2017/02/08 Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
2017/04/27 Javascript
nodejs 子进程正确的打开方式
2017/07/03 NodeJs
Javascript(es2016) import和require用法和区别详解
2017/08/11 Javascript
原生JS实现图片无缝滚动方法(附带封装的运动框架)
2017/10/01 Javascript
Vue v2.5 调整和更新不完全问题
2017/10/24 Javascript
微信小程序表单验证功能完整实例
2017/12/01 Javascript
学习JS中的DOM节点以及操作
2018/04/30 Javascript
手把手教你vue-cli单页到多页应用的方法
2018/05/31 Javascript
vue项目使用微信公众号支付总结及遇到的坑
2018/10/23 Javascript
详解在Node.js中发起HTTP请求的5种方法
2019/01/10 Javascript
Node.js实现批量下载图片简单操作示例
2020/01/18 Javascript
Vue项目配置跨域访问和代理proxy设置方式
2020/09/08 Javascript
node中短信api实现验证码登录的示例代码
2021/01/20 Javascript
十行代码使用Python写一个USB病毒
2019/06/21 Python
使用python serial 获取所有的串口名称的实例
2019/07/02 Python
python 装饰器的基本使用
2021/01/13 Python
Finishline官网:美国一家领先的运动品牌鞋类、服装零售商
2016/07/20 全球购物
意大利在线药房:Saninforma
2021/02/11 全球购物
婚礼证婚人证婚词
2014/01/13 职场文书
搞笑车尾标语
2014/06/23 职场文书
2014年护理部工作总结
2014/11/14 职场文书
2014年综合治理工作总结
2014/11/20 职场文书
付款证明模板
2015/06/19 职场文书
学生会副主席竞选稿
2015/11/19 职场文书
2019通用版导游词范本!
2019/08/07 职场文书