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下arguments,caller,callee,call,apply示例及理解
Dec 24 Javascript
仿jQuery的siblings效果的js代码
Aug 09 Javascript
主页面中的两个iframe实现鼠标拖动改变其大小
Apr 16 Javascript
javascript避免数字计算精度误差的方法详解
Mar 05 Javascript
jQuery.lazyload+masonry改良图片瀑布流代码
Jun 20 Javascript
jquery简单图片切换显示效果实现方法
Jan 14 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
Aug 21 Javascript
jQuery Mobile操作HTML5的常用函数总结
May 17 Javascript
Bootstrap零基础学习第一课之模板
Jul 18 Javascript
React.Js添加与删除onScroll事件的方法详解
Nov 03 Javascript
浅谈react-router@4.0 使用方法和源码分析
Jun 04 Javascript
vue中父子组件的参数传递和应用示例
Jan 04 Vue.js
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函数ip2long转换IP时数值太大产生负数的解决方法
2013/06/06 PHP
php中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
兼容PHP和Java的des加密解密代码分享
2014/06/26 PHP
PHP命名空间(namespace)的使用基础及示例
2014/08/18 PHP
PHP基于IMAP收取邮件的方法示例
2017/08/07 PHP
PHP PDOStatement::rowCount讲解
2019/02/01 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
2019/05/09 PHP
javascript基础知识大集锦(一) 推荐收藏
2011/01/13 Javascript
jquery库或JS文件在eclipse下报错问题解决方法
2014/04/17 Javascript
JavaScript中Function函数与Object对象的关系
2015/12/17 Javascript
jQuery mobile 移动web(6)
2015/12/20 Javascript
全面解析标签页的切换方式
2016/08/21 Javascript
JS查找字符串中出现次数最多的字符
2016/09/05 Javascript
vuejs动态组件给子组件传递数据的方法详解
2016/09/09 Javascript
Javascript的动态增加类的实现方法
2016/10/20 Javascript
vue项目webpack中Npm传递参数配置不同域名接口
2018/06/15 Javascript
Javascript之高级数组API的使用实例
2019/03/08 Javascript
使用localStorage替代cookie做本地存储
2019/09/25 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
2019/10/26 Javascript
Nuxt.js nuxt-link与router-link的区别说明
2020/11/06 Javascript
[02:07]2017国际邀请赛中国区预选赛直邀战队前瞻
2017/06/23 DOTA
Python压缩和解压缩zip文件
2015/02/14 Python
在Python中操作字典之fromkeys()方法的使用
2015/05/21 Python
python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件
2020/02/26 Python
CSS3的RGBA中关于整数和百分比值的转换
2015/08/04 HTML / CSS
印尼在线精品店:Berrybenka.com
2016/10/22 全球购物
德国高品质男装及配饰商城:Cultizm(Raw Denim原色牛仔裤)
2018/04/16 全球购物
运动会致辞稿50字
2014/02/04 职场文书
社团活动总结怎么写
2014/06/30 职场文书
淘宝客服工作职责
2014/07/11 职场文书
2014年班主任工作总结
2014/11/08 职场文书
七一活动主持词
2015/06/29 职场文书
如何使用Maxwell实时同步mysql数据
2021/04/08 MySQL
python xlwt模块的使用解析
2021/04/13 Python
Python语言中的数据类型-序列
2022/02/24 Python
Java实现带图形界面的聊天程序
2022/06/10 Java/Android