JavaScript数组排序reverse()和sort()方法详解


Posted in Javascript onDecember 24, 2017

JavaScript中数组排序的方法有两个reverse()和sort()。

reverse()方法会反转数组项的顺序:

var arr = [1,2,3,4,5];
 arr.reverse();
 alert(arr); //5,4,3,2,1

sort()方法会按照字符串升序排列数组项,sort()方法会调用每个数组项的tostring()方法,即使数组中的每一项都是数值,sort()方法比较的也是字符串:

var arr = [1,2,11,15,5];
arr.sort();
alert(arr); // 1,11,15,2,5

这种方式在很多情况下并不是最好的方案,因此sort()方法可以接收一个比较函数作为参数。比较函数需要两个参数,如果第一个参数应该位于第二个参数之前则需要返回一个负数,如果两个参数相等则返回0,如果第一个参数应该位于第二个参数之后,则返回一个正数:

var arr = [1,2,11,15,5];
arr.sort(function(val1,val2){
return val1-val2;
 });
 alert(arr); // 1,2,5,11,15

由于比较函数通过返回一个小于零,等于零或大于零的志来影响排序结果,因此减法操作可以很好的处理这些情况。

总结

以上所述是小编给大家介绍的JavaScript数组排序reverse()和sort()方法详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
返回对象在当前级别中是第几个元素的实现代码
Jan 20 Javascript
Node.js开发之访问Redis数据库教程
Jan 14 Javascript
JQuery工具函数汇总
Jun 15 Javascript
JavaScript中的原型继承基础学习教程
May 06 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
Dec 07 Javascript
浅谈Vue SPA 首屏加载优化实践
Dec 15 Javascript
实例解析ES6 Proxy使用场景介绍
Jan 08 Javascript
基于webpack.config.js 参数详解
Mar 20 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
Jan 23 Javascript
Element-ui自定义table表头、修改列标题样式、添加tooltip、:render-header使用
Apr 11 Javascript
D3.js(v3)+react 实现带坐标与比例尺的柱形图 (V3版本)
May 09 Javascript
vue实现一个获取按键展示快捷键效果的Input组件
Jan 13 Vue.js
JS生成随机打乱数组的方法示例
Dec 23 #Javascript
JavaScript实现的超简单计算器功能示例
Dec 23 #Javascript
Angular实现较为复杂的表格过滤,删除功能示例
Dec 23 #Javascript
Vue.js 的移动端组件库mint-ui实现无限滚动加载更多的方法
Dec 23 #Javascript
9种使用Chrome Firefox 自带调试工具调试javascript技巧
Dec 22 #Javascript
JavaScript中的一些隐式转换和总结(推荐)
Dec 22 #Javascript
原生JS写Ajax的请求函数功能
Dec 22 #Javascript
You might like
PHP数组排序函数合集 以及它们之间的联系分析
2013/06/27 PHP
php采集中国代理服务器网的方法
2015/06/16 PHP
javascript 同时在IE和FireFox获取KeyCode的代码
2010/02/07 Javascript
qTip 基于JQuery的Tooltip插件[兼容性好]
2010/09/01 Javascript
JavaScript之HTMLCollection接口代码
2011/04/27 Javascript
jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
2014/04/10 Javascript
java和javascript获取word文档的书签位置对比
2014/06/19 Javascript
js使用正则实现ReplaceAll全部替换的方法
2014/07/18 Javascript
深入理解JavaScript系列(50):Function模式(下篇)
2015/03/04 Javascript
Javascript闭包实例详解
2015/11/29 Javascript
Jquery 1.9.1源码分析系列(十二)之筛选操作
2015/12/02 Javascript
Javascript实现跑马灯效果的简单实例
2016/05/31 Javascript
javascript中mouseenter与mouseover的异同
2017/06/06 Javascript
深入理解ES6 Promise 扩展always方法
2017/09/26 Javascript
用js实现每隔一秒刷新时间的实例(含年月日时分秒)
2017/10/25 Javascript
微信小程序scroll-x失效的完美解决方法
2018/07/18 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
2018/07/20 Javascript
Python os模块学习笔记
2015/06/21 Python
windows下python连接oracle数据库
2017/06/07 Python
python读取csv文件并把文件放入一个list中的实例讲解
2018/04/27 Python
python使用RNN实现文本分类
2018/05/24 Python
python爬取指定微信公众号文章
2018/12/20 Python
Python 调用 zabbix api的方法示例
2019/01/06 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
Python 转换文本编码实现解析
2019/08/27 Python
在python3中实现更新界面
2020/02/21 Python
Django ForeignKey与数据库的FOREIGN KEY约束详解
2020/05/20 Python
Python3爬虫里关于Splash负载均衡配置详解
2020/07/10 Python
Python使用for生成列表实现过程解析
2020/09/22 Python
迪卡侬印度官网:购买所有体育用品
2017/06/24 全球购物
出纳岗位职责
2013/11/09 职场文书
客服工作职责
2013/12/11 职场文书
考试违纪检讨书
2014/02/02 职场文书
八项规定整改方案
2014/02/21 职场文书
党员批评与自我批评思想汇报(集锦)
2014/09/14 职场文书
宿舍卫生管理制度
2015/08/05 职场文书