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 相关文章推荐
如何取得中文输入的真实长度?
Jun 24 Javascript
轻轻松松学习JavaScript
Feb 25 Javascript
JavaScript 无符号右移赋值操作
Apr 17 Javascript
Jquery 选中表格一列并对表格排序实现原理
Dec 15 Javascript
jquery写个checkbox——类似邮箱全选功能
Mar 19 Javascript
深入理解JavaScript系列(47):对象创建模式(上篇)
Mar 04 Javascript
图解js图片轮播效果
Dec 20 Javascript
jquery $.trim()去除字符串空格的实现方法【附图例】
Mar 30 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
Jan 05 Javascript
js鼠标跟随运动效果
Mar 11 Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
Jun 12 jQuery
vue-cli配置环境变量的方法
Jul 09 Javascript
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版微信公众平台开发之验证步骤实例详解
2016/09/23 PHP
jQuery 顺便学习下CSS选择器 奇偶匹配nth-child(even)
2010/05/24 Javascript
对jQuery的事件绑定的一些思考(补充)
2013/04/20 Javascript
javascript 手动给表增加数据的小例子
2013/07/10 Javascript
jquery验证表单中的单选与多选实例
2013/08/18 Javascript
JQuery中DOM事件冒泡实例分析
2015/06/13 Javascript
Vue.js每天必学之表单控件绑定
2016/09/05 Javascript
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
2017/05/20 jQuery
玩转vue的slot内容分发
2018/09/22 Javascript
koa源码中promise的解读
2018/11/13 Javascript
JavaScript学习笔记之DOM基础操作实例小结
2019/01/09 Javascript
vue实现弹幕功能
2019/10/25 Javascript
如何手写一个简易的 Vuex
2020/10/10 Javascript
学习python处理python编码问题
2011/03/13 Python
Python删除指定目录下过期文件的2个脚本分享
2014/04/10 Python
详谈python3 numpy-loadtxt的编码问题
2018/04/29 Python
10分钟教你用Python实现微信自动回复功能
2018/11/28 Python
Python学习笔记之视频人脸检测识别实例教程
2019/03/06 Python
centos 安装Python3 及对应的pip教程详解
2019/06/28 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
2019/08/06 Python
Pyecharts 中Geo函数常用参数的用法说明
2021/02/01 Python
利用CSS3实现圆角的outline效果的教程
2015/06/05 HTML / CSS
Turnbull & Asser官网:英国皇室御用的顶级定制衬衫
2019/01/31 全球购物
MYPROTEIN澳大利亚官方网站:欧洲运动营养品牌
2019/06/26 全球购物
企业总经理职责
2014/02/02 职场文书
中华魂演讲稿
2014/05/13 职场文书
幼儿园安全生产月活动总结
2014/07/05 职场文书
巾帼志愿者活动方案
2014/08/17 职场文书
教师工作表现评语
2014/12/31 职场文书
首席执行官观后感
2015/06/03 职场文书
师德师风培训感言
2015/08/03 职场文书
2016学校元旦晚会经典开场白台词
2015/12/03 职场文书
python中的plt.cm.Paired用法说明
2021/05/31 Python
Django+Celery实现定时任务的示例
2021/06/23 Python
Python实现列表拼接和去重的三种方式
2021/07/02 Python
redis 解决库存并发问题实现数量控制
2022/04/08 Redis