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实现的多选框多级联动插件
May 02 Javascript
js实现文字跟随鼠标移动而移动的方法
Feb 28 Javascript
jquery使用each方法遍历json格式数据实例
May 18 Javascript
深入探讨前端框架react
Dec 09 Javascript
分享jQuery插件的学习笔记
Jan 14 Javascript
Jquery实现简单的轮播效果(代码管用)
Mar 14 Javascript
每日十条JavaScript经验技巧(一)
Jun 23 Javascript
AngularJs定时器$interval 和 $timeout详解
May 25 Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
Sep 18 jQuery
node.js微信小程序配置消息推送的实现
Feb 13 Javascript
layer弹出框确定前验证:弹出消息框的方法(弹出两个layer)
Sep 21 Javascript
vue用BMap百度地图实现即时搜索功能
Sep 26 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安全性漫谈
2012/06/28 PHP
PHP中ini_set和ini_get函数的用法小结
2014/02/18 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
详解PHP变量传值赋值和引用赋值变量销毁
2019/03/23 PHP
js innerHTML 改变div内容的方法
2013/08/03 Javascript
Javascript 按位左移运算符使用介绍(
2014/02/04 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
2015/08/25 Javascript
AngularJS控制器之间的数据共享及通信详解
2016/08/01 Javascript
简单实现js放大镜效果
2017/07/24 Javascript
说说AngularJS中的$parse和$eval的用法
2017/09/14 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
2017/12/01 Javascript
vue中的自定义分页插件组件的示例
2018/08/18 Javascript
Vue2 监听属性改变watch的实例代码
2018/08/27 Javascript
用Python创建声明性迷你语言的教程
2015/04/13 Python
Python使用Beautiful Soup包编写爬虫时的一些关键点
2016/01/20 Python
Python利用带权重随机数解决抽奖和游戏爆装备问题
2016/06/16 Python
如何使用Python实现自动化水军评论
2019/06/26 Python
利用ImageAI库只需几行python代码实现目标检测
2019/08/09 Python
乐高积木玩具美国官网:LEGO Shop US
2016/09/16 全球购物
教师评优事迹材料
2014/01/10 职场文书
初中英语教学反思
2014/01/25 职场文书
工作自我评价怎么写
2014/01/29 职场文书
实习生求职自荐信
2014/02/07 职场文书
婚礼主持词开场白
2014/03/13 职场文书
我为自己代言广告词
2014/03/18 职场文书
大学团日活动新闻稿
2014/09/10 职场文书
六一儿童节标语
2014/10/08 职场文书
学校群众路线专项整治方案
2014/10/31 职场文书
2015个人半年总结范文
2015/03/09 职场文书
幼儿园教师岗位职责
2015/04/02 职场文书
运动员加油词
2015/07/18 职场文书
预备党员入党感言
2015/08/01 职场文书
2016开学第一课心得体会
2016/01/23 职场文书
高中优秀作文(范文)
2019/08/15 职场文书
go语言基础 seek光标位置os包的使用
2021/05/09 Golang
php中配置文件保存修改操作 如config.php文件的读取修改等操作
2021/05/12 PHP