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 parsefloat parseint 转换函数
Jan 21 Javascript
jQuery1.5.1 animate方法源码阅读
Apr 05 Javascript
jQuery截取指定长度字符串代码
Aug 21 Javascript
jQuery实现元素拖拽并cookie保存顺序的方法
Feb 20 Javascript
分享jQuery封装好的一些常用操作
Jul 28 Javascript
微信公众平台开发教程(五)详解自定义菜单
Dec 02 Javascript
webpack4.0打包优化策略整理小结
Mar 30 Javascript
ES6与CommonJS中的模块处理的区别
Jun 13 Javascript
通过封装scroll.js 获取滚动条的值
Jul 13 Javascript
React项目动态设置title标题的方法示例
Sep 26 Javascript
JavaScript组合设计模式--改进引入案例分析
May 23 Javascript
js实现类选择器和name属性选择器的示例步骤
Feb 07 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
Discuz 6.0+ 批量注册用户名
2009/09/13 PHP
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
2014/06/12 PHP
PHP-Java-Bridge使用笔记
2014/09/22 PHP
php生成excel列名超过26列大于Z时的解决方法
2014/12/29 PHP
PHP读取txt文本文件并分页显示的方法
2015/03/11 PHP
PHP生成图像验证码的方法小结(2种方法)
2016/07/18 PHP
PHP使用curl_multi_select解决curl_multi网页假死问题的方法
2018/08/15 PHP
用javascript控制iframe滚动的代码
2007/04/10 Javascript
JS中typeof与instanceof之间的区别总结
2013/11/14 Javascript
给html超链接设置事件不使用href来完成跳
2014/04/20 Javascript
一款由jquery实现的整屏切换特效
2014/09/15 Javascript
node.js中的console.info方法使用说明
2014/12/09 Javascript
如何利用Promises编写更优雅的JavaScript代码
2016/05/17 Javascript
Angular2入门--架构总览
2017/03/29 Javascript
vue.js开发实现全局调用的MessageBox组件实例代码
2017/11/22 Javascript
JavaScript实现AOP详解(面向切面编程,装饰者模式)
2017/12/19 Javascript
微信小程序模版渲染详解
2018/01/26 Javascript
vue用递归组件写树形控件的实例代码
2018/07/19 Javascript
详解KOA2如何手写中间件(装饰器模式)
2018/10/11 Javascript
node实现爬虫的几种简易方式
2019/08/22 Javascript
python爬虫入门教程之点点美女图片爬虫代码分享
2014/09/02 Python
python类:class创建、数据方法属性及访问控制详解
2016/07/25 Python
python中csv文件的若干读写方法小结
2018/07/04 Python
在Python中将函数作为另一个函数的参数传入并调用的方法
2019/01/22 Python
Python代码块及缓存机制原理详解
2019/12/13 Python
python自定义函数def的应用详解
2020/06/03 Python
如何进行Linux分区优化
2013/02/12 面试题
2014小学植树节活动总结
2014/03/10 职场文书
汽车维修专业自荐书
2014/05/26 职场文书
2014年入党积极分子党校培训心得体会
2014/07/08 职场文书
大学生学习计划书
2014/09/15 职场文书
团组织推优材料
2014/12/29 职场文书
自我推荐信怎么写
2015/03/24 职场文书
国情备忘录观后感
2015/06/04 职场文书
2016年公司中秋节致辞
2015/11/26 职场文书
详解Anyscript开发指南绕过typescript类型检查
2022/09/23 Javascript