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 调试利器 Firebug使用详解六
Jul 05 Javascript
jquery struts 验证唯一标识(公用方法)
Mar 27 Javascript
JS控制阿拉伯数字转为中文大写示例代码
Sep 04 Javascript
实现音乐播放器的代码(html5+css3+jquery)
Aug 04 Javascript
详解javascript实现瀑布流列式布局
Jan 29 Javascript
JS Testing Properties 判断属性是否在对象里的方法
Oct 01 Javascript
vue开发环境配置跨域的方法步骤
Jan 16 Javascript
微信小程序引入Vant组件库过程解析
Aug 06 Javascript
解决layui批量传值到后台操作时出现传值为空的问题
Sep 28 Javascript
JavaScript实现滑动门效果
Jan 18 Javascript
JS sort方法基于数组对象属性值排序
Jul 10 Javascript
基于openlayers实现角度测量功能
Sep 28 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
javascript 学习之旅 (2)
2009/02/05 Javascript
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
2009/06/14 Javascript
jquery $.trim()方法使用介绍
2014/05/21 Javascript
jQuery子属性过滤选择器用法分析
2015/02/10 Javascript
pace.js页面加载进度条插件
2015/09/29 Javascript
JS for循环中i++ 和 ++i的区别介绍
2016/07/20 Javascript
Javascript 获取鼠标当前的位置实现方法
2016/10/27 Javascript
AngularJS 应用身份认证的技巧总结
2016/11/07 Javascript
使用Angular.js实现简单的购物车功能
2016/11/21 Javascript
webpack构建vue项目的详细教程(配置篇)
2017/07/17 Javascript
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
JS写谷歌浏览器chrome的外挂实例
2018/01/11 Javascript
简单的三步vuex入门
2018/05/20 Javascript
node.js部署之启动后台运行forever的方法
2018/05/23 Javascript
js正则表达式校验指定字符串的方法
2018/07/23 Javascript
Js通过AES加密后PHP用Openssl解密的方法
2019/07/12 Javascript
layui 点击重置按钮, select 并没有被重置的解决方法
2019/09/03 Javascript
python写一个md5解密器示例
2018/02/23 Python
NLTK 3.2.4 环境搭建教程
2018/09/19 Python
Python一行代码解决矩阵旋转的问题
2019/11/30 Python
关于tf.reverse_sequence()简述
2020/01/20 Python
浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点
2020/06/08 Python
python属于解释语言吗
2020/06/11 Python
python的setattr函数实例用法
2020/12/16 Python
CSS3 3D位移translate效果实例介绍
2016/05/03 HTML / CSS
css3中的calc函数浅析
2018/07/10 HTML / CSS
Microsoft Advertising美国:微软搜索广告
2019/05/01 全球购物
执行总经理岗位职责
2014/02/03 职场文书
毕业生自荐书
2014/02/03 职场文书
公司年会主持词
2014/03/22 职场文书
心理学专业求职信
2014/06/16 职场文书
2014年银行年终工作总结
2014/12/19 职场文书
公司庆典欢迎词
2015/01/26 职场文书
社区法制宣传日活动总结
2015/05/05 职场文书
2015年全民创业工作总结
2015/07/23 职场文书
会议主持词通用版
2019/04/02 职场文书