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 相关文章推荐
javascript demo 基本技巧
Dec 18 Javascript
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
Jun 25 Javascript
JavaScript打印网页指定区域的例子
May 03 Javascript
js 获取时间间隔实现代码
May 12 Javascript
老生常谈JavaScript 正则表达式语法
Aug 20 Javascript
javascript 动态脚本添加的简单方法
Oct 11 Javascript
AngularJS中的Promise详细介绍及实例代码
Dec 13 Javascript
Vue.js上下滚动加载组件的实例代码
Jul 17 Javascript
bootstrap modal+gridview实现弹出框效果
Aug 15 Javascript
vue使用$emit时,父组件无法监听到子组件的事件实例
Feb 26 Javascript
微信小程序实现点击图片放大预览
Oct 21 Javascript
js实现上传图片到服务器
Apr 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
Windows下的PHP安装文件线程安全和非线程安全的区别
2014/04/23 PHP
php smarty truncate UTF8乱码问题解决办法
2014/06/13 PHP
phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
2016/02/03 PHP
2020最新版 PhpStudy V8.1版本下载安装使用详解
2020/10/30 PHP
Nodejs学习笔记之Global Objects全局对象
2015/01/13 NodeJs
jQuery源码解读之removeAttr()方法分析
2015/02/20 Javascript
checkbox批量选中,获取选中项的值的简单实例
2016/06/28 Javascript
ES6记录异步函数的执行时间详解
2016/08/31 Javascript
判断横屏竖屏(三种)
2017/02/13 Javascript
利用Angular+Angular-Ui实现分页(代码加简单)
2017/03/10 Javascript
JS仿Base.js实现的继承示例
2017/04/07 Javascript
JavaScript实现三级联动效果
2017/07/15 Javascript
原生JS实现ajax与ajax的跨域请求实例
2017/12/01 Javascript
vue如何安装使用Quill富文本编辑器
2018/09/21 Javascript
Node.js Windows Binary二进制文件安装方法
2019/05/16 Javascript
ES6 Promise对象的应用实例分析
2019/06/27 Javascript
js实现视图和数据双向绑定的方法分析
2020/02/05 Javascript
Vue状态模式实现窗口停靠功能(灵动、自由, 管理后台Admin界面)
2020/03/06 Javascript
[02:38]2018年度DOTA2最佳劣单位选手-完美盛典
2018/12/17 DOTA
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
使用Python的Twisted框架编写非阻塞程序的代码示例
2016/05/25 Python
Python3.4实现从HTTP代理网站批量获取代理并筛选的方法示例
2017/09/26 Python
对numpy中布尔型数组的处理方法详解
2018/04/17 Python
django 发送邮件和缓存的实现代码
2018/07/18 Python
pytorch:torch.mm()和torch.matmul()的使用
2019/12/27 Python
HTML5 Canvas draw方法制作动画效果示例
2013/07/11 HTML / CSS
惊艳的手工时装首饰:Migonne Gavigan
2018/02/23 全球购物
维多利亚的秘密阿联酋官网:Victoria’s Secret阿联酋
2019/12/07 全球购物
法学个人求职信范文
2014/01/27 职场文书
手术室护士长竞聘书
2014/03/31 职场文书
幼儿教师个人总结
2015/02/05 职场文书
销售经理岗位职责范本
2015/04/02 职场文书
大学生求职意向书
2015/05/11 职场文书
庆祝教师节主持词
2015/07/06 职场文书
2016新教师培训心得体会范文
2016/01/08 职场文书
Python 数据可视化之Bokeh详解
2021/11/02 Python