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和Asp、Php等后端程序间传值编码统一
Apr 17 Javascript
JS和jquery获取各种屏幕的宽度和高度的代码
Aug 02 Javascript
document节点对象的获取方式示例介绍
Dec 24 Javascript
关闭浏览器输入框自动补齐 兼容IE,FF,Chrome等主流浏览器
Feb 11 Javascript
Js控制滑轮左右滑动实例
Feb 13 Javascript
JS排序方法(sort,bubble,select,insert)代码汇总
Jan 30 Javascript
js带闹铃功能的倒计时代码
Sep 29 Javascript
javaScript中定义类或对象的五种方式总结
Dec 04 Javascript
javascript 实现文本使用省略号替代(超出固定高度的情况)
Feb 21 Javascript
JS将unicode码转中文方法
May 08 Javascript
javascript使用正则实现去掉字符串前面的所有0
Jul 23 Javascript
vue中可编辑树状表格的实现代码
Oct 31 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
Zend公司全球首推PHP认证
2006/10/09 PHP
php方法调用模式与函数调用模式简例
2011/09/20 PHP
php使用函数pathinfo()、parse_url()和basename()解析URL
2016/11/25 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
jQuery UI Datepicker length为空或不是对象错误的解决方法
2010/12/19 Javascript
基于jquery的web页面日期格式化插件
2011/11/15 Javascript
JavaScript作用域链使用介绍
2013/08/29 Javascript
jQuery实现的背景动态变化导航菜单效果
2015/08/24 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作
2015/11/30 Javascript
简要了解jQuery移动web开发的响应式布局设计
2015/12/04 Javascript
Vue.js 和 MVVM 的注意事项
2016/11/07 Javascript
浅谈react性能优化的方法
2018/09/05 Javascript
layer更改皮肤的实现方法
2019/09/11 Javascript
微信小程序indexOf的替换方法(推荐)
2020/01/14 Javascript
Python中的jquery PyQuery库使用小结
2014/05/13 Python
详解Django中的form库的使用
2015/07/18 Python
Python下的常用下载安装工具pip的安装方法
2015/11/13 Python
用python写一个windows下的定时关机脚本(推荐)
2017/03/21 Python
Python之lambda匿名函数及map和filter的用法
2019/03/05 Python
Kears+Opencv实现简单人脸识别
2019/08/28 Python
解决django接口无法通过ip进行访问的问题
2020/03/27 Python
如何使用localstorage代替cookie实现跨域共享数据问题
2018/04/18 HTML / CSS
面向对象编程OOP的优点
2013/01/22 面试题
求网格中的黑点分布
2013/11/06 面试题
以思科路由器为例你写下单臂路由的配置命令
2013/08/03 面试题
班组长安全生产职责
2013/12/16 职场文书
六十岁生日答谢词
2014/01/10 职场文书
招聘单位介绍信
2014/01/14 职场文书
我的五年职业生涯规划
2014/01/23 职场文书
保卫科工作岗位职责
2014/03/01 职场文书
李敖北大演讲稿
2014/05/24 职场文书
机关作风整顿个人整改措施思想汇报
2014/09/29 职场文书
2019商业计划书格式、范文
2019/04/24 职场文书
创业项目(超低成本创业项目)
2019/08/16 职场文书
漫画「你在春天醒来」第10卷封面公开
2022/03/21 日漫
Matplotlib绘制条形图的方法你知道吗
2022/03/21 Python