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 sort排序使用方法
Oct 17 Javascript
JavaScript版的TwoQueues缓存模型
Dec 29 Javascript
javascript基于DOM实现省市级联下拉框的方法
May 14 Javascript
jQuery实现延迟跳转的方法
Jun 05 Javascript
JS区分浏览器页面是刷新还是关闭
Apr 17 Javascript
jQuery使用$获取对象后检查该对象是否存在的实现方法
Sep 04 Javascript
fullCalendar中文API官方文档
Feb 07 Javascript
js 提取某()特殊字符串长度的实例
Dec 06 Javascript
Vue.js 动态为img的src赋值方法
Mar 14 Javascript
vue 刷新之后 嵌套路由不变 重新渲染页面的方法
Sep 13 Javascript
在Express中提供静态文件的实现方法
Oct 17 Javascript
vue全局使用axios的操作
Sep 08 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
PHP转换IP地址到真实地址的方法详解
2013/06/09 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
2013/06/21 PHP
CodeIgniter模板引擎使用实例
2014/07/15 PHP
PHP中使用Imagick实现各种图片效果实例
2015/01/21 PHP
PHP PDOStatement::getAttribute讲解
2019/02/01 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
js模拟select下拉菜单控件的代码
2013/05/08 Javascript
showModelDialog弹出文件下载窗口的使用示例
2013/11/19 Javascript
js实现checkbox全选、不选与反选的方法
2015/02/09 Javascript
一些实用性较高的js方法
2016/04/19 Javascript
Javascript之Date对象详解
2016/06/07 Javascript
AngularJS表单和输入验证实例
2016/11/02 Javascript
Webpack打包慢问题的完美解决方法
2017/03/16 Javascript
原生JS实现圆环拖拽效果
2017/04/07 Javascript
Angular通过指令动态添加组件问题
2018/07/09 Javascript
react 兄弟组件如何调用对方的方法示例
2018/10/23 Javascript
小程序登录之支付宝授权的实现示例
2019/12/13 Javascript
vue 导航守卫和axios拦截器有哪些区别
2020/12/19 Vue.js
python不带重复的全排列代码
2013/08/13 Python
Python使用scrapy采集数据过程中放回下载过大页面的方法
2015/04/08 Python
详尽讲述用Python的Django框架测试驱动开发的教程
2015/04/22 Python
python版本的仿windows计划任务工具
2018/04/30 Python
Python将文本去空格并保存到txt文件中的实例
2018/07/24 Python
把pandas转换int型为str型的方法
2019/01/29 Python
Django框架之登录后自定义跳转页面的实现方法
2019/07/18 Python
Python基于os.environ从windows获取环境变量
2020/06/09 Python
Python第三方包PrettyTable安装及用法解析
2020/07/08 Python
在pycharm中文件取消用 pytest模式打开的操作
2020/09/01 Python
使用Filters滤镜弥补CSS3的跨浏览器问题以及兼容低版本IE
2013/01/23 HTML / CSS
法国珠宝店:CLEOR
2017/01/29 全球购物
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
西班牙太阳镜品牌:Hawkers
2018/03/11 全球购物
商务经理岗位职责
2014/08/03 职场文书
学生会干部自我鉴定2014
2014/09/18 职场文书
六一晚会主持词开场白
2015/05/28 职场文书
小学生组织委员竞选稿
2015/11/21 职场文书