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 相关文章推荐
js检测客户端不是firefox则提示下载
Apr 07 Javascript
asp javascript 实现关闭窗口时保存数据的办法
Nov 24 Javascript
document.onreadystatechange事件的用法分析
Oct 17 Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
Apr 17 Javascript
JS在TextArea光标位置插入文字并实现移动光标到文字末尾
Jun 21 Javascript
javascript中attribute和property的区别详解
Jun 05 Javascript
学习Javascript闭包(Closure)知识
Aug 07 Javascript
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
Jan 16 Javascript
详解使用create-react-app添加css modules、sasss和antd
Jul 31 Javascript
elementUI中Table表格问题的解决方法
Dec 04 Javascript
node命令行工具之实现项目工程自动初始化的标准流程
Aug 12 Javascript
vue+elementui通用弹窗的实现(新增+编辑)
Jan 07 Vue.js
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代码片段
2015/09/24 PHP
浅析Laravel5中队列的配置及使用
2016/08/04 PHP
PHP通过调用新浪API生成t.cn格式短网址链接的方法详解
2019/02/20 PHP
jQuery网页选项卡插件rTabs用法实例分析
2015/08/26 Javascript
JavaScript如何实现在文本框(密码框)输入提示语
2015/12/25 Javascript
javascript动画之模拟拖拽效果篇
2016/09/26 Javascript
使用canvas及js简单生成验证码方法
2017/04/02 Javascript
浅谈angularjs依赖服务注入写法的注意点
2017/04/24 Javascript
jQuery菜单实例(全选,反选,取消)
2017/08/28 jQuery
jQuery实现table中两列CheckBox只能选中一个的示例
2017/09/22 jQuery
vue .js绑定checkbox并获取、改变选中状态的实例
2018/08/24 Javascript
深入理解es6块级作用域的使用
2019/03/28 Javascript
Node4-5静态资源服务器实战以及优化压缩文件实例内容
2019/08/29 Javascript
使用Vue.set()方法实现响应式修改数组数据步骤
2019/11/09 Javascript
Vue脚手架编写试卷页面功能
2020/03/17 Javascript
详解Python中for循环的使用方法
2015/05/14 Python
Python中的变量和作用域详解
2016/07/13 Python
Python中的错误和异常处理简单操作示例【try-except用法】
2017/07/25 Python
基于python中pygame模块的Linux下安装过程(详解)
2017/11/09 Python
python多进程实现文件下载传输功能
2018/07/28 Python
python操作excel让工作自动化
2019/08/09 Python
简单了解python中的f.b.u.r函数
2019/11/02 Python
python爬虫请求头设置代码
2020/07/28 Python
django下创建多个app并设置urls方法
2020/08/02 Python
俄罗斯女装店:12storeez
2019/10/25 全球购物
接口的多继承会带来哪些问题
2015/08/17 面试题
部队学习十八大感言
2014/01/11 职场文书
党课培训主持词
2014/04/01 职场文书
高中生操行评语大全
2014/04/25 职场文书
电子信息专业应届生自荐信
2014/06/04 职场文书
社保委托书怎么写
2014/08/02 职场文书
刑事案件上诉状
2015/05/23 职场文书
钓鱼岛事件感想
2015/08/11 职场文书
党员学习型组织心得体会
2019/06/21 职场文书
Nginx下SSL证书安装部署步骤介绍
2021/12/06 Servers
Win11快速关闭所有广告推荐
2022/04/19 数码科技