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下通过$.browser来判断浏览器.
Apr 05 Javascript
两种JS实现屏蔽鼠标右键的方法
Aug 20 Javascript
学习JavaScript设计模式(策略模式)
Nov 26 Javascript
jQuery+css实现的换页标签栏效果
Jan 27 Javascript
Node.js 应用跑得更快 10 个技巧
Apr 03 Javascript
JavaScript类的写法
Sep 17 Javascript
web前端开发upload上传头像js示例代码
Oct 22 Javascript
关于Vue背景图打包之后访问路径错误问题的解决
Nov 03 Javascript
vue购物车插件编写代码
Nov 27 Javascript
JS面向对象的程序设计相关知识小结
May 26 Javascript
VUE预渲染及遇到的坑
Sep 03 Javascript
微信小程序语音同步智能识别的实现案例代码解析
May 29 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 友好URL的实现(吐血推荐)
2008/10/04 PHP
PHP 面向对象 PHP5 中的常量
2010/05/05 PHP
php学习之运算符相关概念
2011/06/09 PHP
PHP导出EXCEL快速开发指南--PHPEXCEL的使用详解
2013/06/03 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
2014/04/01 PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
2014/06/23 PHP
Zend Framework实现具有基本功能的留言本(附demo源码下载)
2016/03/22 PHP
JS 判断undefined的实现代码
2009/11/26 Javascript
Javascript 设计模式(二) 闭包
2010/05/26 Javascript
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
2013/02/02 Javascript
js 利用image对象实现图片的预加载提高访问速度
2013/03/29 Javascript
js charAt的使用示例
2014/02/18 Javascript
JS小游戏之仙剑翻牌源码详解
2014/09/25 Javascript
jQuery 中DOM 操作详解
2015/01/13 Javascript
jQuery中offset()方法用法实例
2015/01/16 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
2015/04/12 Javascript
js中的内部属性与delete操作符介绍
2015/08/10 Javascript
jQuery prototype冲突的2种解决方法(附demo示例下载)
2016/01/21 Javascript
javascript关于继承解析
2016/05/10 Javascript
jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等的简单实现
2016/08/31 Javascript
jQuery中的select操作详解
2016/11/29 Javascript
详解node.js的http模块实例演示
2018/07/12 Javascript
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
2019/02/15 jQuery
浅谈layer弹出层按钮颜色修改方法
2019/09/11 Javascript
es6函数之严格模式用法实例分析
2020/03/17 Javascript
如何在Vue.JS中使用图标组件
2020/08/04 Javascript
[01:02:02]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第二局
2016/02/25 DOTA
python生成多个只含0,1元素的随机数组或列表的实例
2018/11/12 Python
Python3.5 Json与pickle实现数据序列化与反序列化操作示例
2019/04/29 Python
比利时的在线灯具店:Lampen24.be
2019/07/01 全球购物
师范院校学生自荐信范文
2013/12/27 职场文书
学生安全责任书范本
2014/07/24 职场文书
病假证明模板
2015/06/19 职场文书
电台广播稿范文
2015/08/19 职场文书
2017新年晚会开幕词
2016/03/03 职场文书
python实现进度条的多种实现
2021/04/29 Python