关于javascript sort()排序你可能忽略的一点理解


Posted in Javascript onJuly 18, 2017

前言

在Javascript数组排序中有一个sort()方法,sort()方法可以说分为两种,一种是文字数组排序,一种是数字数组排序。下面这篇文章主要和大家分享了关于最近学习javascript sort()排序发现了一点理解,下面话不多说了,来一起看看详细的介绍吧。

sort()排序的原理

最近在leetcode刷题的时候遇到一个排序问题之前一直都忽略了sort排序的原理,让我们看下w3c对于sort()的说明:

如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。

要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

这样就可以解释为什么[0,1,5,10,8]的升序排列会是[0,1,10,5,8]了

关于javascript sort()排序你可能忽略的一点理解

sort()排序参数的使用

w3c对于参数的使用还有如下一段说明:如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:

  • 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
  • 若 a 等于 b,则返回 0。
  • 若 a 大于 b,则返回一个大于 0 的值。

所以得出如果想要升序排列的话通过a-b就可以实现 sort((a,b)=>a-b) ,反序也可以通过这个来做到:

关于javascript sort()排序你可能忽略的一点理解

总结

以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
jQuery TextBox自动完成条
Jul 22 Javascript
用jquery实现输入框获取焦点消失文字
Apr 27 Javascript
jquery实现多行文字图片滚动效果示例代码
Oct 10 Javascript
jQuery编程中的一些核心方法简介
Aug 14 Javascript
js实现TAB切换对应不同颜色的代码
Aug 31 Javascript
全面解析Angular中$Apply()及$Digest()的区别
Aug 04 Javascript
Bootstrap作品展示站点实战项目2
Oct 14 Javascript
JavaScript简介_动力节点Java学院整理
Jun 26 Javascript
js分页之前端代码实现和请求处理
Aug 04 Javascript
JS实现的简单标签点击切换功能示例
Sep 21 Javascript
javascript实现QQ空间相册展示源码
Dec 12 Javascript
vue的.vue文件是怎么run起来的(vue-loader)
Dec 10 Javascript
jQuery扇形定时器插件pietimer使用方法详解
Jul 18 #jQuery
ES6中的rest参数与扩展运算符详解
Jul 18 #Javascript
ES6学习之变量的两种命名方法示例
Jul 18 #Javascript
vue实现表格增删改查效果的实例代码
Jul 18 #Javascript
js canvas实现适用于移动端的百分比仪表盘dashboard
Jul 18 #Javascript
vue深入解析之render function code详解
Jul 18 #Javascript
jquery插件canvaspercent.js实现百分比圆饼效果
Jul 18 #jQuery
You might like
用js实现的页面关键字密度查询代码
2007/12/27 Javascript
js 图片轮播(5张图片)
2008/12/30 Javascript
自写的一个jQuery圆角插件
2010/10/26 Javascript
ie下动态加态js文件的方法
2011/09/13 Javascript
javascript中比较字符串是否相等的方法
2013/07/23 Javascript
JS实现图片横向滚动效果示例代码
2013/09/04 Javascript
jQuery简易图片放大特效示例代码
2014/06/09 Javascript
JavaScript实现删除,移动和复制文件的方法
2015/08/05 Javascript
js实现悬浮窗效果(支持拖动)
2017/03/09 Javascript
微信小程序实现移动端滑动分页效果(ajax)
2017/06/13 Javascript
浅谈JS如何实现真正的对象常量
2017/06/25 Javascript
JavaScript异步上传图片文件的实例代码
2017/07/04 Javascript
微信小程序获取微信运动步数的实例代码
2017/07/20 Javascript
nodejs 生成和导出 word的实例代码
2018/07/31 NodeJs
jQuery中getJSON跨域原理的深入讲解
2020/09/02 jQuery
[01:55]2014DOTA2国际邀请赛 BBC正赛第一天总结
2014/07/10 DOTA
Python3.2中的字符串函数学习总结
2015/04/23 Python
Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)
2017/08/23 Python
python利用有道翻译实现"语言翻译器"的功能实例
2017/11/14 Python
在pycharm中python切换解释器失败的解决方法
2018/10/29 Python
python 实现读取一个excel多个sheet表并合并的方法
2019/02/12 Python
使用python的pexpect模块,实现远程免密登录的示例
2019/02/14 Python
Python开启线程,在函数中开线程的实例
2019/02/22 Python
基于python实现蓝牙通信代码实例
2019/11/19 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
2020/04/22 Python
Python Request类源码实现方法及原理解析
2020/08/17 Python
Python利用matplotlib绘制散点图的新手教程
2020/11/05 Python
使用CSS3来实现滚动视差效果的教程
2015/08/24 HTML / CSS
CSS3制作缩略图的详细过程
2016/07/08 HTML / CSS
canvas粒子动画背景的实现示例
2018/09/03 HTML / CSS
阿里云:Aliyun.com
2017/02/15 全球购物
奥地利婴儿用品和玩具购物网站:baby-markt.at
2020/01/26 全球购物
工商管理专业实习生自我鉴定
2013/09/29 职场文书
2014学雷锋活动总结
2014/03/09 职场文书
2015年学校党支部工作总结
2015/04/01 职场文书
pytorch 6 batch_train 批训练操作
2021/05/28 Python