关于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 ajax方式直接提交整个表单核心代码
Aug 15 Javascript
jquery阻止冒泡事件使用模拟事件
Sep 06 Javascript
js过滤HTML标签完整实例
Nov 26 Javascript
基于jquery插件编写countdown计时器
Jun 12 Javascript
JavaScript中日期函数的相关操作知识
Aug 03 Javascript
动态生成的DOM不会触发onclick事件的原因及解决方法
Aug 06 Javascript
C#微信小程序服务端获取用户解密信息实例代码
Mar 10 Javascript
React Native实现地址挑选器功能
Oct 24 Javascript
9102了,你还不会移动端真机调试吗
Mar 25 Javascript
vue中v-text / v-html使用实例代码详解
Apr 02 Javascript
详解小程序毫秒级倒计时(适用于拼团秒杀功能)
May 05 Javascript
让mocha支持ES6模块的方法实现
Jan 14 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
PHP 采集程序 常用函数
2008/12/18 PHP
php文档更新介绍
2011/07/22 PHP
php 把数字转换成汉字的代码
2015/07/21 PHP
CI(Codeigniter)的Setting增强配置类实例
2016/01/06 PHP
PHP 将dataurl转成图片image方法总结
2016/10/14 PHP
使用onbeforeunload属性后的副作用
2007/03/08 Javascript
jquery 合并内容相同的单元格(示例代码)
2013/12/13 Javascript
JS实现简单的顶部定时关闭层效果
2014/06/15 Javascript
Javascript验证用户输入URL地址是否为空及格式是否正确
2014/10/09 Javascript
javascript中使用正则表达式清理table样式的代码
2020/04/01 Javascript
jQuery实现的Tab滑动选项卡及图片切换(多种效果)小结
2015/09/14 Javascript
AngularJS 过滤器(自带和自建)详解
2016/09/19 Javascript
微信小程序 form组件详解
2016/10/25 Javascript
echart简介_动力节点Java学院整理
2017/08/11 Javascript
深入浅析Vue中的Prop
2018/06/10 Javascript
Vue监听一个数组id是否与另一个数组id相同的方法
2018/09/26 Javascript
Python机器学习之决策树算法
2017/12/22 Python
Python 16进制与中文相互转换的实现方法
2018/07/09 Python
Python解析Excle文件中的数据方法
2018/10/23 Python
python使用zip将list转为json的方法
2018/12/31 Python
浅谈Pandas Series 和 Numpy array中的相同点
2019/06/28 Python
简单了解Django ContentType内置组件
2019/07/23 Python
python爬虫请求头设置代码
2020/07/28 Python
Python创建临时文件和文件夹
2020/08/05 Python
HTML5 Canvas 破碎重组的视频特效的示例代码
2019/09/24 HTML / CSS
利用HTML5 Canvas制作键盘及鼠标动画的实例分享
2016/03/15 HTML / CSS
快速实现一个简单的canvas迷宫游戏的示例
2018/07/04 HTML / CSS
Canvas 帧动画吃苹果小游戏
2020/08/05 HTML / CSS
Nicole Miller官方网站:纽约女装品牌
2019/09/14 全球购物
师范应届生教师求职信
2013/11/05 职场文书
保险公司演讲稿
2014/09/02 职场文书
幼儿园2014年度工作总结
2014/11/10 职场文书
搞笑结婚保证书
2015/05/08 职场文书
小学运动会宣传稿
2015/07/23 职场文书
留学文书中的个人陈述,应该注意哪些问题?
2019/08/23 职场文书
Python快速实现一键抠图功能的全过程
2021/06/29 Python