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 相关文章推荐
js下用层来实现select的title提示属性
Feb 23 Javascript
js 编程笔记 无名函数
Jun 28 Javascript
Jquery+CSS3实现一款简洁大气带滑动效果的弹出层
May 15 Javascript
自己写的Javascript计算时间差函数
Oct 28 Javascript
JavaScript设计模式之观察者模式(发布者-订阅者模式)
Sep 24 Javascript
AngularJs ng-route路由详解及实例代码
Sep 14 Javascript
Vue-cli proxyTable 解决开发环境的跨域问题详解
May 18 Javascript
JavaScript获取tr td 的三种方式全面总结(推荐)
Aug 15 Javascript
小程序开发之模态框组件封装
Apr 23 Javascript
js 将多个对象合并成一个对象 assign方法的实现
Sep 24 Javascript
node.js如何自定义实现一个EventEmitter
Jul 16 Javascript
前端监听websocket消息并实时弹出(实例代码)
Nov 27 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
我的论坛源代码(三)
2006/10/09 PHP
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
2014/11/29 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
2016/09/22 PHP
PHP实现使用DOM将XML数据存入数组的方法示例
2017/09/27 PHP
php获取微信openid方法总结
2019/10/10 PHP
关于jquery中全局函数each使用介绍
2013/12/10 Javascript
Jquery搜索父元素操作方法
2015/02/10 Javascript
基于jQuery滑动杆实现购买日期选择效果
2015/09/15 Javascript
适用于javascript开发者的Processing.js入门教程
2016/02/24 Javascript
JS操作JSON方法总结(推荐)
2016/06/14 Javascript
清除浏览器缓存的几种方法总结(必看)
2016/12/09 Javascript
解析Vue2 dist 目录下各个文件的区别
2017/11/22 Javascript
vue实现密码显示与隐藏按钮的自定义组件功能
2019/04/23 Javascript
vue-next/runtime-core 源码阅读指南详解
2019/10/25 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
2019/11/04 Javascript
JS正则表达式验证端口范围(0-65535)
2020/01/06 Javascript
一篇文章带你浅入webpack的DLL优化打包
2020/02/20 Javascript
vscode调试node.js的实现方法
2020/03/22 Javascript
[03:43]TI9战队采访——PSG.LGD
2019/08/22 DOTA
python通过colorama模块在控制台输出彩色文字的方法
2015/03/19 Python
浅谈Python中的可变对象和不可变对象
2017/07/07 Python
Python基于分水岭算法解决走迷宫游戏示例
2017/09/26 Python
Python3结合Dlib实现人脸识别和剪切
2018/01/24 Python
python实现pdf转换成word/txt纯文本文件
2018/06/07 Python
python中cPickle类使用方法详解
2018/08/27 Python
详解Python 正则表达式模块
2018/11/05 Python
python实现每天自动签到领积分的示例代码
2020/08/18 Python
英国美术用品购物网站:Cass Art
2019/10/08 全球购物
JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
2013/07/02 面试题
Lucene推荐的分页方式是什么?
2015/12/07 面试题
jQuery treeview树形结构应用
2021/03/24 jQuery
最新销售员个人自荐信
2013/09/21 职场文书
科技开发中心办公室主任岗位责任制
2014/02/10 职场文书
横空出世观后感
2015/06/09 职场文书
找规律教学反思
2016/02/23 职场文书
mysql通过group by分组取最大时间对应数据的两种有效方法
2022/09/23 MySQL