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对象WeixinJSBridge使用实例
May 25 Javascript
JS和jQuery使用submit方法无法提交表单的原因分析及解决办法
May 17 Javascript
Node.js 实现简单小说爬虫实例
Nov 18 Javascript
使用jQuery的ajax方法向服务器发出get和post请求的方法
Jan 13 Javascript
jQuery 判断元素整理汇总
Feb 28 Javascript
详解vuelidate 对于vueJs2.0的验证解决方案
Mar 09 Javascript
ES6中Array.includes()函数的用法
Sep 20 Javascript
vue 点击按钮增加一行的方法
Sep 07 Javascript
超好用的jQuery分页插件jpaginate用法示例【附源码下载】
Dec 06 jQuery
Vue 理解之白话 getter/setter详解
Apr 16 Javascript
vue elementUI table 自定义表头和行合并的实例代码
May 22 Javascript
Vue实现鼠标经过文字显示悬浮框效果的示例代码
Oct 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
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
2007/04/18 PHP
ThinkPHP3.2.2的插件控制器功能简述
2014/07/09 PHP
php关键字仅替换一次的实现函数
2015/10/29 PHP
thinkPHP简单遍历数组方法分析
2016/05/16 PHP
javascript中的几个运算符
2007/06/29 Javascript
jQuery+css+html实现页面遮罩弹出框
2013/03/21 Javascript
Jquery性能优化详解
2014/05/15 Javascript
javascript刷新父页面的各种方法汇总
2014/09/03 Javascript
PHP PDO操作总结
2014/11/17 Javascript
JavaScript获得url所有参数键值表的方法
2015/03/21 Javascript
JS获取网页图片name属性的方法
2015/04/01 Javascript
jQuery中closest和parents的区别分析
2015/05/07 Javascript
javascript如何定义对象数组
2016/06/07 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
AngularJS 中的Promise --- $q服务详解
2016/09/14 Javascript
浅谈Javascript中的函数、this以及原型
2016/10/09 Javascript
jQuery ajax实现省市县三级联动
2021/03/07 Javascript
bootstrap paginator分页插件的两种使用方式实例详解
2017/11/14 Javascript
es6新特性之 class 基本用法解析
2018/05/05 Javascript
javascript中toFixed()四舍五入使用方法详解
2018/09/28 Javascript
如何在Angular应用中创建包含组件方法示例
2019/03/23 Javascript
ES6 Set结构的应用实例分析
2019/06/26 Javascript
详解React中共享组件逻辑的三种方式
2021/02/02 Javascript
[01:16:01]VGJ.S vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
编程语言Python的发展史
2014/09/26 Python
使用Python向C语言的链接库传递数组、结构体、指针类型的数据
2019/01/29 Python
python 实现返回一个列表中出现次数最多的元素方法
2019/06/11 Python
Django 解决新建表删除后无法重新创建等问题
2020/05/21 Python
python3.9.1环境安装的方法(图文)
2021/02/02 Python
Shell脚本如何向终端输出信息
2014/04/25 面试题
机关单位动员会主持词
2014/03/20 职场文书
学校安全防火方案
2014/06/07 职场文书
经济贸易系求职信
2014/08/04 职场文书
2016年幼儿园教研活动总结
2016/04/05 职场文书
自考生自我评价
2019/06/21 职场文书
关于k8s环境部署mysql主从的问题
2022/03/13 MySQL