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模拟多线程
Feb 07 Javascript
js string 转 int 注意的问题小结
Aug 15 Javascript
Bootstrap轮播加上css3动画,炫酷到底!
Dec 22 Javascript
BootStrap Table 分页后重新搜索问题的解决办法
Aug 08 Javascript
js HTML5上传示例代码完整版
Oct 10 Javascript
详解jQuery插件开发方式
Nov 22 Javascript
基于JavaScript实现图片剪切效果
Mar 07 Javascript
vue中页面跳转拦截器的实现方法
Aug 23 Javascript
Vue实现textarea固定输入行数与添加下划线样式的思路详解
Jun 28 Javascript
Vue中全局变量的定义和使用
Jun 05 Javascript
OpenLayers实现图层切换控件
Sep 25 Javascript
vue项目配置同一局域网可使用ip访问的操作
Oct 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
php session应用实例 登录验证
2009/03/16 PHP
一个经典的PHP文件上传类分享
2014/11/18 PHP
PHP使用CURL模拟登录的方法
2015/07/08 PHP
php更新cookie内容的详细方法
2019/09/30 PHP
使用jquery mobile做幻灯播放效果实现步骤
2013/01/04 Javascript
鼠标滑在标题上显示图片的JS代码
2013/11/19 Javascript
结合JQ1.9通过js正则判断各种浏览器版本的方法
2013/12/30 Javascript
Egret引擎开发指南之创建项目
2014/09/03 Javascript
学习JavaScript设计模式(接口)
2015/11/26 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
2016/09/09 Javascript
NodeJS和BootStrap分页效果的实现代码
2016/11/07 NodeJs
微信小程序  modal详解及实例代码
2016/11/09 Javascript
手把手搭建安装基于windows的Vue.js运行环境
2017/06/12 Javascript
React应用中使用Bootstrap的方法
2017/08/15 Javascript
vue mint-ui 实现省市区街道4级联动示例(仿淘宝京东收货地址4级联动)
2017/10/16 Javascript
浅谈webpack4 图片处理汇总
2018/09/12 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
2019/01/23 Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
2020/09/07 Javascript
JavaScript缓动动画函数的封装方法
2020/11/25 Javascript
[57:59]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第一场 11.05
2020/11/05 DOTA
python 中文字符串的处理实现代码
2009/10/25 Python
wxPython使用系统剪切板的方法
2015/06/16 Python
python 实现网上商城,转账,存取款等功能的信用卡系统
2016/07/15 Python
python爬虫中get和post方法介绍以及cookie作用
2018/02/08 Python
Python实现账号密码输错三次即锁定功能简单示例
2019/03/29 Python
Python3+Appium实现多台移动设备操作的方法
2019/07/05 Python
DAWGS鞋官方网站:鞋,凉鞋,靴子
2016/10/04 全球购物
全球速卖通法国在线交易平台:AliExpress法国
2017/07/07 全球购物
美国领先的在线旅游网站:Orbitz
2018/11/05 全球购物
毕业自我鉴定范文
2013/11/06 职场文书
开工仪式主持词
2014/03/20 职场文书
银行竞聘演讲稿范文
2014/04/23 职场文书
人事行政专员岗位职责
2014/07/23 职场文书
2014年社区党建工作总结
2014/11/11 职场文书
婚庆公司开业主持词
2015/06/30 职场文书
gtx1650怎么样 gtx1650显卡相当于什么级别
2022/04/08 数码科技