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 相关文章推荐
用cssText批量修改样式
Aug 29 Javascript
基于JQuery制作可编辑的表格特效
Dec 23 Javascript
微信小程序 数组中的push与concat的区别
Jan 05 Javascript
基于JS实现网页中的选项卡(两种方法)
Jun 16 Javascript
详细AngularJs4的图片剪裁组件的实例
Jul 12 Javascript
Angularjs 手写日历的实现代码(不用插件)
Oct 18 Javascript
vue结合element-ui使用示例
Jan 24 Javascript
解决vue 单文件组件中样式加载问题
Apr 24 Javascript
JavaScript如何实现元素全排列实例代码
May 14 Javascript
Node中对非阻塞I/O、事件循环的知识点总结
Jan 05 Javascript
TypeScript 引用资源文件后提示找不到的异常处理技巧
Jul 15 Javascript
详解Vue3 Teleport 的实践及原理
Dec 02 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小程序自动提交到自助友情连接
2009/11/24 PHP
浅谈PDO的rowCount函数
2015/06/18 PHP
php实现微信发红包
2015/12/05 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
PHP设计模式(九)外观模式Facade实例详解【结构型】
2020/05/02 PHP
动感效果的TAB选项卡jquery 插件
2011/07/09 Javascript
js实现的标题栏新消息闪烁提示效果
2014/06/06 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
2014/09/02 Javascript
jquery 实现两Select 标签项互调示例代码
2014/09/25 Javascript
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
2014/12/18 NodeJs
举例详解JavaScript中Promise的使用
2015/06/24 Javascript
AngularJs Understanding the Controller Component
2016/09/02 Javascript
jQuery EasyUI开发技巧总结
2017/09/26 jQuery
vue toggle做一个点击切换class(实例讲解)
2018/03/13 Javascript
详解ES6 Fetch API HTTP请求实用指南
2018/11/14 Javascript
如何用原生js写一个弹窗消息提醒插件
2019/05/24 Javascript
vue使用video.js进行视频播放功能
2019/07/18 Javascript
js canvas实现俄罗斯方块
2020/10/11 Javascript
ES6中的类(Class)示例详解
2020/12/09 Javascript
[02:41]DOTA2英雄基础教程 冥魂大帝
2014/01/16 DOTA
对numpy 数组和矩阵的乘法的进一步理解
2018/04/04 Python
python+opencv实现霍夫变换检测直线
2020/10/23 Python
python读取指定字节长度的文本方法
2019/08/27 Python
python为什么会环境变量设置不成功
2020/06/23 Python
HTML5中微数据概述及在搜索引擎中的使用举例
2013/02/07 HTML / CSS
JD Sports芬兰:英国领先的运动鞋和运动服饰零售商
2018/11/16 全球购物
农行实习自我鉴定
2013/09/22 职场文书
《找不到快乐的波斯猫》教学反思
2014/02/24 职场文书
飘柔洗发水广告词
2014/03/14 职场文书
学校志愿者活动总结
2014/06/27 职场文书
python中pandas.read_csv()函数的深入讲解
2021/03/29 Python
SQL Server数据定义——模式与基本表操作
2021/04/05 SQL Server
Python实现socket库网络通信套接字
2021/06/04 Python
Python机器学习之基于Pytorch实现猫狗分类
2021/06/08 Python
天谕手游15杯全调酒配方和调酒券的获得方式
2022/04/06 其他游戏
Shell中的单中括号和双中括号的用法详解
2022/12/24 Servers