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 相关文章推荐
dojo学习第一天 Tab选项卡 实现
Aug 28 Javascript
ExtJS[Desktop]实现图标换行示例代码
Nov 17 Javascript
利用javaScript实现点击输入框弹出窗体选择信息
Dec 11 Javascript
Javascript遍历table中的元素示例代码
Jul 08 Javascript
jquery之别踩白块游戏的简单实现
Jul 25 Javascript
javascript笔记之匿名函数和闭包
Feb 06 Javascript
Vue利用canvas实现移动端手写板的方法
May 03 Javascript
微信小程序input框中加入小图标的实现方法
Jun 19 Javascript
vue+echarts实现动态绘制图表及异步加载数据的方法
Oct 17 Javascript
axios实现简单文件上传功能
Sep 25 Javascript
vue中英文切换实例代码
Jan 21 Javascript
适合后台管理系统开发的12个前端框架(小结)
Jun 29 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
ThinkPHP与PHPExcel冲突解决方法
2011/08/08 PHP
深入PHP数据缓存的使用说明
2013/05/10 PHP
win7安装php框架Yii的方法
2016/01/25 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
2016/09/14 PHP
Yii 2.0实现联表查询加搜索分页的方法示例
2017/08/02 PHP
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
php项目中类的自动加载实例讲解
2019/09/12 PHP
laravel5表单唯一验证的实例代码
2019/09/30 PHP
省市联动效果的简单实现代码(推荐)
2016/06/06 Javascript
完美实现八种js焦点轮播图(上篇)
2016/07/18 Javascript
如何在js代码中消灭for循环实例详解
2018/07/29 Javascript
原生js实现轮播图特效
2020/05/04 Javascript
JS删除数组指定值常用方法详解
2020/06/04 Javascript
js实现购物车商品数量加减
2020/09/21 Javascript
Python中常见的数据类型小结
2015/08/29 Python
Python排序搜索基本算法之插入排序实例分析
2017/12/11 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
2018/11/20 Python
pycharm编写spark程序,导入pyspark包的3中实现方法
2019/08/02 Python
numpy.transpose()实现数组的转置例子
2019/12/02 Python
使用OpenCV实现道路车辆计数的使用方法
2020/07/15 Python
CSS3伪类选择器:nth-child()
2009/04/02 HTML / CSS
Canvas 文字碰撞检测并抽稀的方法
2019/05/27 HTML / CSS
html5生成柱状图(条形图)效果的实例代码
2016/03/25 HTML / CSS
AmazeUI 面板的实现示例
2020/08/17 HTML / CSS
英国电器零售商:PRC Direct
2018/06/21 全球购物
为您的家、后院、车库等在线购物:Spreetail
2019/06/17 全球购物
保加利亚服装和鞋类购物网站:Bibloo.bg
2020/11/08 全球购物
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
汽车专业毕业生推荐信
2013/11/12 职场文书
工地安全标语
2014/06/07 职场文书
文秘班元旦晚会活动策划方案
2014/08/28 职场文书
2014年办公室文员工作总结
2014/11/12 职场文书
2014年酒店工作总结与计划
2014/11/17 职场文书
幼儿园辞职信
2015/05/13 职场文书
同学会感言
2015/07/30 职场文书
Springboot-cli 开发脚手架,权限认证,附demo演示
2022/04/28 Java/Android