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 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome
Nov 26 Javascript
JavaScript高级程序设计 事件学习笔记
Sep 10 Javascript
Javascript处理DOM元素事件实现代码
May 23 Javascript
JQuery 文本框回车跳到下一个文本框示例代码
Aug 30 Javascript
JavaScript中标识符提升问题
Jun 11 Javascript
JavaScript中使用自然对数ln的方法
Jun 14 Javascript
vuejs在解析时出现闪烁的原因及防止闪烁的方法
Sep 19 Javascript
使用JS代码实现点击按钮下载文件
Nov 12 Javascript
Vue.extend实现挂载到实例上的方法
May 01 Javascript
微信小程序中限制激励式视频广告位显示次数(实现思路)
Dec 06 Javascript
Vue实现渲染数据后控制滚动条位置(推荐)
Dec 09 Javascript
vant自定义二级菜单操作
Nov 02 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 和 COM
2006/10/09 PHP
PHP判断一个gif图片是否为动态图片的方法
2014/11/19 PHP
php轻松实现文件上传功能
2016/03/03 PHP
PHP常用日期加减计算方法实例小结
2018/07/31 PHP
过虑特殊字符输入的js代码
2010/08/05 Javascript
JavaScript实现获取dom中class的方法
2015/02/09 Javascript
jQuery网页选项卡插件rTabs用法实例分析
2015/08/26 Javascript
原生JS实现平滑回到顶部组件
2016/03/16 Javascript
浅谈Javascript事件对象
2017/02/05 Javascript
vue实现点击图片放大效果
2017/08/15 Javascript
JavaScript之解构赋值的理解
2019/01/30 Javascript
Nodejs核心模块之net和http的使用详解
2019/04/02 NodeJs
javascript function(函数类型)使用与注意事项小结
2019/06/10 Javascript
前端Electron新手入门教程详解
2019/06/21 Javascript
Vue组件模板及组件互相引用代码实例
2020/03/11 Javascript
Postman无法正常返回结果问题解决
2020/08/28 Javascript
Js利用正则表达式去除字符串的中括号
2020/11/23 Javascript
如何在vue中使用HTML 5 拖放API
2021/01/14 Vue.js
[15:39]教你分分钟做大人:龙骑士
2014/10/30 DOTA
python查找第k小元素代码分享
2013/12/18 Python
python k-近邻算法实例分享
2014/06/11 Python
Python中的元类编程入门指引
2015/04/15 Python
用Python实现KNN分类算法
2017/12/22 Python
flask入门之表单的实现
2018/07/18 Python
Django中自定义admin Xadmin的实现代码
2019/08/09 Python
在pycharm中关掉ipython console/PyDev操作
2020/06/09 Python
Python分类测试代码实例汇总
2020/07/23 Python
详解移动端HTML5音频与视频问题及解决方案
2018/08/22 HTML / CSS
a标签下载链接的简单实现
2016/09/13 HTML / CSS
ONLY德国官方在线商店:购买时尚女装
2017/09/21 全球购物
美国NBA官方商店:NBA Store
2019/04/12 全球购物
争论的故事教学反思
2014/02/06 职场文书
大学生个人求职信
2014/06/02 职场文书
工作散漫检讨书
2014/09/16 职场文书
会议接待欢迎标语
2014/10/08 职场文书
「偶像大师 MILLION LIVE!」七尾百合子手办开订
2022/03/21 日漫