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 兼容鼠标滚轮事件
Apr 07 Javascript
JQquery的一些使用心得分享
Aug 01 Javascript
JavaScript jquery及AJAX小结
Jan 24 Javascript
基于jQuery实现仿微博发布框字数提示
Jul 27 Javascript
详解Webpack DLL用法以及功能
Jul 11 Javascript
jQuery实现广告条滚动效果
Aug 22 jQuery
详解在create-react-app使用less与antd按需加载
Dec 06 Javascript
javascript对HTML字符转义与反转义
Dec 13 Javascript
如何根据业务封装自己的功能组件
Apr 19 Javascript
Node.js 实现简单的无侵入式缓存框架的方法
Jul 21 Javascript
Vue获取微博授权URL代码实例
Nov 04 Javascript
Vue使用鼠标在Canvas上绘制矩形
Dec 24 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
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
2013/06/29 PHP
浅析php过滤html字符串,防止SQL注入的方法
2013/07/02 PHP
php获取本周星期一具体日期的方法
2015/04/20 PHP
PHP中抽象类和抽象方法概念与用法分析
2016/05/24 PHP
php的扩展写法总结
2019/05/14 PHP
Jquery 基础学习笔记
2009/05/29 Javascript
js或css实现滚动广告的几种方案
2010/01/28 Javascript
JavaScript CSS修改学习第二章 样式
2010/02/19 Javascript
通过继承IHttpHandle实现JS插件的组织与管理
2010/07/13 Javascript
jQuery 对Select的操作备忘记录
2011/07/04 Javascript
javaScript中的this示例学习详解及工作原理
2014/01/13 Javascript
JQuery+Ajax无刷新分页的实例代码
2014/02/08 Javascript
jQuery图片拖动组件Dropzone用法示例
2017/01/17 Javascript
jQuery 判断元素整理汇总
2017/02/28 Javascript
vue2.0 中使用transition实现动画效果使用心得
2018/08/13 Javascript
对vuejs的v-for遍历、v-bind动态改变值、v-if进行判断的实例讲解
2018/08/27 Javascript
vue-cli的工程模板与构建工具详解
2018/09/27 Javascript
javascript实现前端分页效果
2020/06/24 Javascript
Python爬取读者并制作成PDF
2015/03/10 Python
简介Python中用于处理字符串的center()方法
2015/05/18 Python
使用50行Python代码从零开始实现一个AI平衡小游戏
2018/11/21 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
2019/09/07 Python
基于YUV 数据格式详解及python实现方式
2019/12/09 Python
美国一家著名的儿童鞋制造商:Stride Rite
2017/01/02 全球购物
6号汽车旅馆预订:Motel 6
2018/02/11 全球购物
时尚设计师手表:The Watch Cabin
2018/10/06 全球购物
Bibloo奥地利:购买女装、男装、童装、鞋和配件
2018/10/18 全球购物
英国的领先快速时尚零售商:In The Style
2019/03/25 全球购物
亮化工程实施方案
2014/03/17 职场文书
群众路线专项整治工作情况报告
2014/10/28 职场文书
新教师教学工作总结
2015/08/12 职场文书
团队执行力培训心得体会
2015/08/15 职场文书
歌咏比赛口号大全
2015/12/25 职场文书
MySql学习笔记之事务隔离级别详解
2021/05/12 MySQL
Python 中random 库的详细使用
2021/06/03 Python
Python合并pdf文件的工具
2021/07/01 Python