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 get和post 方法传值注意事项
Nov 03 Javascript
jquery 插件学习(五)
Aug 06 Javascript
JS日期和时间选择控件升级版(自写)
Aug 02 Javascript
Jjcarousellite 实现图片列表滚动的简单实例
Nov 29 Javascript
悬浮数字的实现案例
Feb 19 Javascript
js+html5实现canvas绘制圆形图案的方法
Jun 05 Javascript
jQuery插件实现无缝滚动特效
Nov 24 Javascript
JQuery EasyUI Layout 在from布局自适应窗口大小的实现方法
May 28 Javascript
Angular.js中用ng-repeat-start实现自定义显示
Oct 18 Javascript
JS前端笔试题分析
Dec 19 Javascript
Vue2.0实现将页面中表格数据导出excel的实例
Aug 09 Javascript
Node.js API详解之 querystring用法实例分析
Apr 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
PHP提取数据库内容中的图片地址并循环输出
2010/03/21 PHP
php session安全问题分析
2011/06/24 PHP
php操作xml
2013/10/27 PHP
搭建基于Docker的PHP开发环境的详细教程
2015/07/01 PHP
Laravel 中获取上一篇和下一篇数据
2015/07/27 PHP
PHP大文件分片上传的实现方法
2018/10/28 PHP
Laravel 自带的Auth验证登录方法
2019/09/30 PHP
javascript学习之闭包分析
2010/12/02 Javascript
JavaScript高级程序设计 客户端存储学习笔记
2011/09/10 Javascript
jQuery实现列表内容的动态载入特效
2015/08/08 Javascript
深入解析JavaScript中的arguments对象
2016/06/12 Javascript
Bootstrap轮播插件使用代码
2016/10/11 Javascript
canvas学习之API整理笔记(二)
2016/12/29 Javascript
Bootstrap栅格系统简单实现代码
2017/03/06 Javascript
jQuery实现的手风琴侧边菜单效果
2017/03/29 jQuery
Bootstrap Table 搜索框和查询功能
2017/11/30 Javascript
Three.js 再探 - 写一个微信跳一跳极简版游戏
2018/01/04 Javascript
jquery动态添加带有样式的HTML标签元素方法
2018/02/24 jQuery
vue+iview 实现可编辑表格的示例代码
2018/10/31 Javascript
vue-router启用history模式下的开发及非根目录部署方法
2018/12/23 Javascript
JavaScript类型相关的常用操作总结
2019/02/14 Javascript
JS实现滑动导航效果
2020/01/14 Javascript
零基础写python爬虫之urllib2使用指南
2014/11/05 Python
python计算一个序列的平均值的方法
2015/07/11 Python
python实现将内容分行输出
2015/11/05 Python
python绘制中国大陆人口热力图
2018/11/07 Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
2019/01/22 Python
Python找出列表中出现次数最多的元素三种方式
2020/02/24 Python
python tkinter GUI绘制,以及点击更新显示图片代码
2020/03/14 Python
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
美国大城市最热门旅游景点门票:CityPASS
2016/12/16 全球购物
解除租房协议书
2014/12/03 职场文书
评先进个人材料
2014/12/29 职场文书
幼儿园奖惩制度范本
2015/08/05 职场文书
JavaScript控制台的更多功能
2021/04/28 Javascript
MySQL的InnoDB存储引擎的数据页结构详解
2022/03/03 MySQL