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 相关文章推荐
js利用div背景,做一个竖线的效果。
Nov 22 Javascript
验证控件与Button的OnClientClick事件详细解析
Dec 04 Javascript
jqGrid读取选择的多行的某个属性代码
May 18 Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
Aug 07 Javascript
谈谈JavaScript类型系统之Math
Jan 06 Javascript
原生js实现可拖拽效果
Feb 28 Javascript
ES6中的rest参数与扩展运算符详解
Jul 18 Javascript
AngularJS 教程及实例代码
Oct 23 Javascript
vue 解决addRoutes动态添加路由后刷新失效问题
Jul 02 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
Jul 05 jQuery
使用webpack搭建vue项目及注意事项
Jun 10 Javascript
原生js实现针对Dom节点的CRUD操作示例
Aug 26 Javascript
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
长波知识介绍
2021/03/01 无线电
php实现utf-8和GB2312编码相互转换函数代码
2013/02/07 PHP
关于二级目录拖拽排序的实现(源码示例下载)
2013/04/26 PHP
php调用mysql存储过程实例分析
2014/12/29 PHP
codeigniter发送邮件并打印调试信息的方法
2015/03/21 PHP
图文详解PHP环境搭建教程
2016/07/16 PHP
利用PHP生成静态html页面的原理
2016/09/30 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
2017/10/24 PHP
addRule在firefox下的兼容写法
2006/11/30 Javascript
一段实现页面上的图片延时加载的js代码
2010/02/11 Javascript
跟我学习javascript的垃圾回收机制与内存管理
2015/11/23 Javascript
JS IOS/iPhone的Safari浏览器不兼容Javascript中的Date()问题如何解决
2016/11/11 Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
2016/11/25 Javascript
详解webpack打包vue时提取css
2017/05/26 Javascript
详解webpack2+node+react+babel实现热加载(hmr)
2017/08/24 Javascript
浅谈webpack 自动刷新与解析
2018/04/09 Javascript
React Hooks的深入理解与使用
2018/11/12 Javascript
如何使用 vue + d3 画一棵树
2018/12/03 Javascript
使用vscode快速建立vue模板过程详解
2019/10/10 Javascript
vue下canvas裁剪图片实例讲解
2020/04/16 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
[01:46]TI4西雅图DOTA2前线报道 中国选手抱团调时差
2014/07/08 DOTA
Python3调用微信企业号API发送文本消息代码示例
2017/11/10 Python
Python cookbook(数据结构与算法)字典相关计算问题示例
2018/02/18 Python
Python实现生成密码字典的方法示例
2019/09/02 Python
Python绘图之二维图与三维图详解
2020/08/04 Python
购买美国制造的相框和画框架:Picture Frames
2018/08/14 全球购物
汇智创新科技发展有限公司
2015/12/06 面试题
广告设计专业自荐信范文
2013/11/14 职场文书
《自然之道》教学反思
2014/02/11 职场文书
小学生操行评语
2014/04/22 职场文书
药品营销策划方案
2014/06/15 职场文书
2015年学校工作总结范文
2015/04/20 职场文书
工作表现证明
2015/06/15 职场文书
观看《信仰》心得体会
2016/01/15 职场文书
Python自然语言处理之切分算法详解
2021/04/25 Python