Javascript中数组sort和reverse用法分析


Posted in Javascript onDecember 30, 2014

本文实例讲述了Javascript中数组sort和reverse用法。分享给大家供大家参考。具体分析如下:

sort() 方法用于对数组的元素进行排序。

reverse()将数组中的元素逆序

首先我们来试试以下这段代码:

var values = [1, 0, 5, 15, 10];

values.reverse();

console.log(values);

输出结果会是什么呢:
[ 10, 15, 5, 0, 1 ]

reverse()也就是很简单的把数组倒过来而已,那么接下来想吐槽的是sort()

var values = [1, 0, 5, 15, 10];

values.sort();

console.log(values);

这段函数输出结果竟然是:
[ 0, 1, 10, 15, 5 ]

这是怎么回事?

实际上,在sort()函数内部会使用toString()转型,而String比较是通过ASCII,所以,我们如果需要排序的话,还是自己写一个sort()比较好。

var values = [1, 0, 5, 15, 10];

function compare(value1, value2) {

    if (value1 < value2) {

        return -1;

    } else if (value1 > value2) {

        return 1;

    } else {

        return 0;

    }

}

values.sort(compare);

console.log(values);

如果调换一下-1和1就能逆向排序啦。

现在的输出结果:
[ 0, 1, 5, 10, 15 ]

更简单的写法是,在compare()内部使用return value2 - value1;

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
jQuery当鼠标悬停时放大图片的效果实例
Jul 03 Javascript
js监听鼠标点击和键盘点击事件并自动跳转页面
Sep 24 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
Oct 20 Javascript
form.submit()不能提交表单的原因分析
Oct 23 Javascript
Boostrap模态窗口的学习小结
Mar 28 Javascript
微信小程序 picker 组件详解及简单实例
Jan 10 Javascript
详谈jQuery中的一些正则匹配表达式
Mar 08 Javascript
JS+WCF实现进度条实时监测数据加载量的方法详解
Dec 19 Javascript
实例讲解Vue.js中router传参
Apr 22 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
Aug 20 Javascript
深入浅出vue图片路径的实现
Sep 04 Javascript
vite2.0+vue3移动端项目实战详解
Mar 03 Vue.js
jQuery中:visible选择器用法实例
Dec 30 #Javascript
JQuery设置时间段下拉选择实例
Dec 30 #Javascript
jQuery中:hidden选择器用法实例
Dec 30 #Javascript
jQuery中:has选择器用法实例
Dec 30 #Javascript
jQuery中:empty选择器用法实例
Dec 30 #Javascript
jQuery中:contains选择器用法实例
Dec 30 #Javascript
解决ueditor jquery javascript 取值问题
Dec 30 #Javascript
You might like
PHP中使用crypt()实现用户身份验证的代码
2012/09/05 PHP
PHP模板引擎Smarty中变量的使用方法示例
2016/04/11 PHP
PHP简单获取及判断提交来源的方法
2016/04/22 PHP
PHP常用文件操作函数和简单实例分析
2016/06/03 PHP
PHP面向对象程序设计之命名空间与自动加载类详解
2016/12/02 PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
2017/03/15 PHP
PHP中的日期时间处理利器实例(Carbon)
2017/06/09 PHP
php表单文件iframe异步上传实例讲解
2017/07/26 PHP
详解PHP实现支付宝小程序用户授权的工具类
2018/12/25 PHP
PHP单例模式实例分析【防继承,防克隆操作】
2019/05/22 PHP
解决js数据包含加号+通过ajax传到后台时出现连接错误
2013/08/01 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
javascript组合使用构造函数模式和原型模式实例
2015/06/04 Javascript
浅谈JavaScript for循环 闭包
2016/06/22 Javascript
微信小程序 navigation API实例详解
2016/10/02 Javascript
canvas绘图不清晰的解决方案
2017/02/28 Javascript
vue实现压缩图片预览并上传功能(promise封装)
2019/01/10 Javascript
通过JS运行机制的角度说说作用域
2019/03/12 Javascript
vue中实现上传文件给后台实例详解
2019/08/22 Javascript
javascript实现简单留言板案例
2021/02/09 Javascript
Python获取当前时间的方法
2014/01/14 Python
python获取指定时间差的时间实例详解
2017/04/11 Python
在Mac上删除自己安装的Python方法
2018/10/29 Python
对Python多线程读写文件加锁的实例详解
2019/01/14 Python
python 采用paramiko 远程执行命令及报错解决
2019/10/21 Python
Python迷宫生成和迷宫破解算法实例
2019/12/24 Python
MCM英国官网:奢侈皮具制品
2017/04/18 全球购物
Melijoe美国官网:法国奢侈童装购物网站
2017/04/19 全球购物
英国在线自行车店:Merlin Cycles
2018/08/20 全球购物
大专生的学习自我评价
2013/12/04 职场文书
优秀通讯员事迹材料
2014/01/28 职场文书
模具设计与制造专业自荐书
2014/07/01 职场文书
2015年仓管员工作总结
2015/04/21 职场文书
保险公司岗前培训工作总结
2015/10/24 职场文书
2016国庆节67周年红领巾广播稿
2015/12/18 职场文书
如何自己动手写SQL执行引擎
2021/06/02 MySQL