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 相关文章推荐
jquery之empty()与remove()区别说明
Sep 10 Javascript
Egret引擎开发指南之编译项目
Sep 03 Javascript
PHP 数组current和next用法分享
Mar 05 Javascript
jquery实现不包含当前项的选择器实例
Jun 25 Javascript
jQuery插件ImgAreaSelect实现头像上传预览和裁剪功能实例讲解一
May 26 jQuery
Angular表格神器ui-grid应用详解
Sep 29 Javascript
vue组件父子间通信详解(三)
Nov 07 Javascript
基于jQuery.i18n实现web前端的国际化
May 04 jQuery
vue里如何主动销毁keep-alive缓存的组件
Mar 21 Javascript
JavaScript中0、空字符串、'0'是true还是false的知识点分享
Sep 16 Javascript
vue多页面项目中路由使用history模式的方法
Sep 23 Javascript
maptalks+three.js+vue webpack实现二维地图上贴三维模型操作
Aug 10 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
虫族 Zerg 历史背景
2020/03/14 星际争霸
PHP4实际应用经验篇(2)
2006/10/09 PHP
ajax+php打造进度条 readyState各状态
2010/03/20 PHP
PHP集成百度Ueditor 1.4.3
2014/11/23 PHP
PHP 中TP5 Request 请求对象的实例详解
2017/07/31 PHP
event.keyCode键码值表 附只能输入特定的字符串代码
2009/05/15 Javascript
url 编码 js url传参中文乱码解决方案
2010/04/11 Javascript
按给定几率进行随机抽取的js代码
2010/12/28 Javascript
js实现收缩菜单效果实例代码
2013/10/30 Javascript
jquery实现ajax提交form表单的方法总结
2014/03/03 Javascript
jQuery中on()方法用法实例详解
2015/02/06 Javascript
AngularJS基础 ng-click 指令示例代码
2016/08/01 Javascript
Angular中使用ui router实现系统权限控制及开发遇到问题
2016/09/23 Javascript
Javascript实现一个简单的输入关键字添加标签效果实例
2017/06/01 Javascript
基于代数方程库Algebra.js解二元一次方程功能示例
2017/06/09 Javascript
php register_shutdown_function函数详解
2017/07/23 Javascript
微信小程序实战篇之购物车的实现代码示例
2017/11/30 Javascript
vue.js实现的经典计算器/科学计算器功能示例
2018/07/11 Javascript
微信小程序实现保存图片到相册功能
2018/11/30 Javascript
layui的layedit富文本赋值方法
2019/09/18 Javascript
使用layui的layer组件做弹出层的例子
2019/09/27 Javascript
详解vue-flickity的fullScreen功能实现
2020/04/07 Javascript
基于vue-simple-uploader封装文件分片上传、秒传及断点续传的全局上传插件功能
2021/02/23 Vue.js
Python常用的爬虫技巧总结
2016/03/28 Python
Python实现递归遍历文件夹并删除文件
2016/04/18 Python
python合并已经存在的sheet数据到新sheet的方法
2018/12/11 Python
Python地图绘制实操详解
2019/03/04 Python
Python中使用双下划线防止类属性被覆盖问题
2019/06/27 Python
python实现按行分割文件
2019/07/22 Python
django drf框架中的user验证以及JWT拓展的介绍
2019/08/12 Python
Envie de Fraise意大利:法国网上推出的孕妇装品牌
2020/10/18 全球购物
物业管理毕业生个人的求职信
2013/11/30 职场文书
采购部主管岗位职责
2014/01/01 职场文书
上班迟到检讨书
2014/01/10 职场文书
导游词之天津盘山
2019/11/01 职场文书
对Golang中的FORM相关字段理解
2021/05/02 Golang