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 相关文章推荐
JavaScript执行效率与性能提升方案
Dec 21 Javascript
用按钮控制iframe显示的网页实现方法
Feb 04 Javascript
js hover 定时器(实例代码)
Nov 12 Javascript
jQuery的load()方法及其回调函数用法实例
Mar 25 Javascript
JQuery Mobile实现导航栏和页脚
Mar 09 Javascript
Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果
May 27 Javascript
完美解决IE9浏览器出现的对象未定义问题
Sep 29 Javascript
IE8中jQuery.load()加载页面不显示的原因
Nov 15 jQuery
详解微信小程序用定时器实现倒计时效果
Apr 30 Javascript
angularjs1.X 重构controller 的方法小结
Aug 15 Javascript
vue-cli随机生成port源码的方法
Sep 02 Javascript
PHP 502bad gateway原因及解决方案
Nov 13 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
收音机玩机评测 406 篇视频合集
2020/03/11 无线电
php中count获取多维数组长度的方法
2014/11/03 PHP
PHP扩展模块memcached长连接使用方法分析
2014/12/24 PHP
刷新PHP缓冲区为你的站点加速
2015/10/10 PHP
[原创]php实现 data url的图片生成与保存
2016/12/04 PHP
麦鸡的TAB切换功能结合了javascript和css
2007/12/17 Javascript
javascript 写类方式之一
2009/07/05 Javascript
qq悬浮代码(兼容各个浏览器)
2014/01/29 Javascript
jquery阻止后续事件只执行第一个事件
2014/07/24 Javascript
Ajax中解析Json的两种方法对比分析
2015/06/25 Javascript
jQuery横向擦除焦点图特效代码分享
2015/09/06 Javascript
BootStrap响应式导航条实例介绍
2016/05/06 Javascript
Bootstrap整体框架之JavaScript插件架构
2016/12/15 Javascript
jQuery实现下拉菜单的实例代码
2017/06/19 jQuery
nodejs实现OAuth2.0授权服务认证
2017/12/27 NodeJs
javascript中toFixed()四舍五入使用方法详解
2018/09/28 Javascript
vue+elementUI实现图片上传功能
2019/08/20 Javascript
vue2.0 解决抽取公用js的问题
2020/07/31 Javascript
vue element ui validate 主动触发错误提示操作
2020/09/21 Javascript
vue实现登录、注册、退出、跳转等功能
2020/12/23 Vue.js
解析Python中的变量、引用、拷贝和作用域的问题
2015/04/07 Python
解决Django的request.POST获取不到内容的问题
2018/05/28 Python
python对list中的每个元素进行某种操作的方法
2018/06/29 Python
python django model联合主键的例子
2019/08/06 Python
Python中zip()函数的简单用法举例
2019/09/02 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
2020/07/30 Python
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
2013/01/09 HTML / CSS
中国高端家电购物商城:顺电
2018/03/04 全球购物
英国最大的专业户外零售商:Mountain Warehouse
2018/06/06 全球购物
英国领先的独立时装店:Van Mildert
2019/10/28 全球购物
职业生涯规划设计步骤
2014/01/12 职场文书
给水工程专业毕业生自荐信
2014/01/28 职场文书
2014村务公开实施方案
2014/02/25 职场文书
2014乡镇机关党员个人对照检查材料思想汇报
2014/10/09 职场文书
创业计划书之游泳馆
2019/09/16 职场文书
python文件与路径操作神器 pathlib
2022/04/01 Python