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中substr,substring,slice.splice的区别说明
Nov 25 Javascript
实现局部遮罩与关闭原理及代码
Feb 04 Javascript
javascript/jquery获取地址栏url参数的方法
Mar 05 Javascript
javascript实现对表格元素进行排序操作
Nov 18 Javascript
JS获取子窗口中返回的数据实现方法
May 28 Javascript
浅谈addEventListener和attachEvent的区别
Jul 14 Javascript
JS HTML5实现拖拽移动列表效果
Aug 27 Javascript
BootStrop前端框架入门教程详解
Dec 25 Javascript
JavaScript实现类似淘宝的购物车效果
Mar 16 Javascript
jquery+css实现简单的图片轮播效果
Aug 07 jQuery
Vue单文件组件基础模板小结
Aug 10 Javascript
详解Vue CLI3配置解析之css.extract
Sep 14 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获取地址栏信息的代码
2008/10/08 PHP
PHP中查询SQL Server或Sybase时TEXT字段被截断的解决方法
2009/03/10 PHP
有关PHP中MVC的开发经验分享
2012/05/17 PHP
一个简洁的PHP可逆加密函数(分享)
2013/06/06 PHP
PHP连接access数据库
2015/03/27 PHP
Zend Framework开发入门经典教程
2016/03/23 PHP
laravel5.1框架model类查询的实现方法
2019/10/08 PHP
firefox下input type="file"的size是多大
2011/10/24 Javascript
js通过地址栏给action传值(中文乱码全是问号)
2013/05/02 Javascript
js+css实现的简单易用兼容好的分页
2013/12/30 Javascript
编写简单的jQuery提示插件
2014/12/21 Javascript
有关文件上传 非ajax提交 得到后台数据问题
2016/10/12 Javascript
JavaScript实现翻页功能(附效果图)
2017/02/16 Javascript
jQuery插件HighCharts绘制2D带有Legend的饼图效果示例【附demo源码下载】
2017/03/10 Javascript
vue操作动画的记录animate.css实例代码
2019/04/26 Javascript
javascript中this的用法实践分析
2019/07/29 Javascript
微信小程序国际化探索实现(附源码地址)
2020/05/20 Javascript
Webpack3+React16代码分割的实现
2021/03/03 Javascript
python3.5 email实现发送邮件功能
2018/05/22 Python
Python生成器generator用法示例
2018/08/10 Python
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
2018/08/30 Python
Python3将数据保存为txt文件的方法
2019/09/12 Python
python3 实现调用串口功能
2019/12/26 Python
python爬虫中的url下载器用法详解
2020/11/30 Python
python程序实现BTC(比特币)挖矿的完整代码
2021/01/20 Python
英国的潮牌鞋履服饰商店:size?
2019/03/26 全球购物
卫校毕业生自我鉴定
2013/10/31 职场文书
护士求职推荐信范文
2013/11/23 职场文书
幼儿园英语教学反思
2014/01/30 职场文书
社区义诊活动总结
2014/04/30 职场文书
我与祖国共奋进演讲稿
2014/09/13 职场文书
员工年终自我评价
2014/09/14 职场文书
2014年乡镇人大工作总结
2014/11/25 职场文书
公司感谢信范文
2015/01/22 职场文书
JavaScript实现班级抽签小程序
2021/05/19 Javascript
Python+Appium自动化测试的实战
2021/06/30 Python