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类代码
Jun 27 Javascript
jquery选择器(常用选择器说明)
Sep 28 Javascript
JavaScript初学者建议:不要去管浏览器兼容
Feb 04 Javascript
javascript中递归函数用法注意点
Jul 30 Javascript
详解JavaScript中Hash Map映射结构的实现
May 21 Javascript
JavaScript注入漏洞的原理及防范(详解)
Dec 04 Javascript
H5图片压缩与上传实例
Apr 21 Javascript
vue项目中的webpack-dev-sever配置方法
Dec 14 Javascript
详解VUE2.X过滤器的使用方法
Jan 11 Javascript
Vue微信项目按需授权登录策略实践思路详解
May 07 Javascript
vue通过cookie获取用户登录信息的思路详解
Oct 30 Javascript
js正则匹配多个全部数据问题
Dec 20 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
判断Keep-Alive模式的HTTP请求的结束的实现代码
2011/08/06 PHP
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
2013/06/20 PHP
领悟php接口中interface存在的意义
2013/06/27 PHP
php数组函数array_walk用法示例
2016/05/26 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
2019/04/03 PHP
微信小程序发送订阅消息的方法(php 为例)
2019/10/30 PHP
javascript随机将第一个dom中的图片添加到第二个div中示例
2013/10/08 Javascript
举例讲解JavaScript中关于对象操作的相关知识
2015/11/16 Javascript
jQuery实现布局高宽自适应的简单实例
2016/05/28 Javascript
JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法
2016/08/05 Javascript
JQuery判断正整数整理小结
2017/08/21 jQuery
详解VUE中常用的几种import(模块、文件)引入方式
2018/07/03 Javascript
基于vue2.0实现仿百度前端分页效果附实现代码
2018/10/30 Javascript
关于vue状态过渡transition不起作用的原因解决
2019/04/09 Javascript
如何在Vue中抽离接口配置文件
2019/10/31 Javascript
JS在Array数组中按指定位置删除或添加元素对象方法示例
2019/11/19 Javascript
vue 实现click同时传入事件对象和自定义参数
2021/01/29 Vue.js
[02:59]2014DOTA2西雅图国际邀请赛 圆满落幕中国夺冠
2014/07/23 DOTA
[36:33]2018DOTA2亚洲邀请赛 4.3 突围赛 EG vs Newbee 第二场
2018/04/04 DOTA
Python中逗号的三种作用实例分析
2015/06/08 Python
python利用装饰器进行运算的实例分析
2015/08/04 Python
Python 中 list 的各项操作技巧
2017/04/13 Python
OpenCV-Python实现轮廓检测实例分析
2018/01/05 Python
在python中利用opencv简单做图片比对的方法
2019/01/24 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
2020/07/30 Python
flask开启多线程的具体方法
2020/08/02 Python
next在python中返回迭代器的实例方法
2020/12/15 Python
python程序实现BTC(比特币)挖矿的完整代码
2021/01/20 Python
瑞典灯具和照明网上商店:Lamp24.se
2018/03/17 全球购物
大客户销售经理职责
2013/12/04 职场文书
专业幼师实习生自我鉴定范文
2013/12/08 职场文书
团日活动总结书格式
2014/05/08 职场文书
个园导游词
2015/02/04 职场文书
如何判断pytorch是否支持GPU加速
2021/06/01 Python