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 添加网页桌面快捷方式的代码详细整理
Dec 27 Javascript
JavaScript学习笔记之数组去重
Mar 23 Javascript
用Vue.js实现监听属性的变化
Nov 17 Javascript
从零开始学习Node.js系列教程四:多页面实现的数学运算示例
Apr 13 Javascript
vue.js实现条件渲染的实例代码
Jun 22 Javascript
js实现本地图片文件拖拽效果
Jul 18 Javascript
Vue父子模版传值及组件传值的三种方法
Nov 27 Javascript
Angular2 父子组件通信方式的示例
Jan 29 Javascript
vue中引用阿里字体图标的方法
Feb 10 Javascript
vue绑定事件后获取绑定事件中的this方法
Sep 15 Javascript
VueJS 组件参数名命名与组件属性转化问题
Dec 03 Javascript
JS继承实现方法及优缺点详解
Sep 02 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 GD绘制24小时柱状图
2008/06/28 PHP
PHP基础学习小结
2011/04/17 PHP
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
2012/09/23 PHP
PHP自带函数给数字或字符串自动补齐位数
2014/07/29 PHP
php实现可用于mysql,mssql,pg数据库操作类
2014/12/13 PHP
smarty内置函数config_load用法实例
2015/01/22 PHP
php通过正则表达式记取数据来读取xml的方法
2015/03/09 PHP
PHP中的访问修饰符简单比较
2019/02/02 PHP
字符串的replace方法应用浅析
2011/12/06 Javascript
javascript实现的简单计时器
2015/07/19 Javascript
js上传图片预览的实现方法
2017/05/09 Javascript
Vue 3.x+axios跨域方案的踩坑指南
2019/07/04 Javascript
解决vue 表格table列求和的问题
2019/11/06 Javascript
javascript 代码是如何被压缩的示例代码
2020/05/06 Javascript
解决vue项目打包上服务器显示404错误,本地没出错的问题
2020/11/03 Javascript
Python标准库之sqlite3使用实例
2014/11/25 Python
Python内置函数dir详解
2015/04/14 Python
Django框架中的对象列表视图使用示例
2015/07/21 Python
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
python石头剪刀布小游戏(三局两胜制)
2021/01/20 Python
浅谈Python基础—判断和循环
2019/03/22 Python
Django上使用数据可视化利器Bokeh解析
2019/07/31 Python
Django上线部署之IIS的配置方法
2019/08/22 Python
django model object序列化实例
2020/03/13 Python
详解Anaconda安装tensorflow报错问题解决方法
2020/11/01 Python
使用html5+css3来实现slider切换效果告别javascript+css
2013/01/08 HTML / CSS
Ajax请求总共有多少种Callback
2016/07/17 面试题
自动化专业个人求职信范文
2013/12/30 职场文书
读书活动实施方案
2014/03/10 职场文书
班主任工作经验交流材料
2014/05/13 职场文书
法院反腐倡廉心得体会
2014/09/09 职场文书
行政二审代理词
2015/05/25 职场文书
小学教师师德培训心得体会
2016/01/09 职场文书
高中体育课教学反思
2016/02/16 职场文书
品牌形象定位,全面分析
2019/07/23 职场文书
Python 键盘事件详解
2021/11/11 Python