关于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 相关文章推荐
用JavaScript调用WebService的示例
Apr 07 Javascript
js 匿名调用实现代码
Jun 19 Javascript
非常棒的10款jQuery 幻灯片插件
Jun 14 Javascript
jquery刷新页面的实现代码(局部及全页面刷新)
Jul 11 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
May 07 Javascript
Grunt入门教程(自动任务运行器)
Aug 06 Javascript
第二篇Bootstrap起步
Jun 21 Javascript
原生JS查找元素的方法(推荐)
Nov 22 Javascript
详解jQuery中的DOM操作
Dec 23 Javascript
手动初始化Angular的模块与控制器
Dec 26 Javascript
原生JS实现N级菜单的代码
May 21 Javascript
Axios取消重复请求的方法实例详解
Jun 15 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/01/10 PHP
php shell超强免杀、减少体积工具实现代码
2012/10/16 PHP
深入解析Session是否必须依赖Cookie
2013/08/02 PHP
怎样使用php与jquery设置和读取cookies
2013/08/08 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
2014/01/03 PHP
理解PHP中的stdClass类
2014/04/18 PHP
PHP记录搜索引擎蜘蛛访问网站足迹的方法
2015/04/15 PHP
PHP的openssl加密扩展使用小结(推荐)
2016/07/18 PHP
javascript 对象比较实现代码
2009/04/27 Javascript
jquery ready()的几种实现方法小结
2010/06/18 Javascript
js简单实现用户注册信息的校验代码
2013/11/15 Javascript
鼠标拖拽移动子窗体的JS实现
2014/02/25 Javascript
JavaScript基于对象去除数组重复项的方法
2016/10/09 Javascript
js仿小米手机上下滑动效果
2017/02/05 Javascript
vue实现简单全选和反选功能
2020/09/15 Javascript
JS如何操作DOM基于表格动态展示数据
2020/10/15 Javascript
[35:29]Secret vs VG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
一个计算身份证号码校验位的Python小程序
2014/08/15 Python
Python记录详细调用堆栈日志的方法
2015/05/05 Python
Python实现字典的key和values的交换
2015/08/04 Python
利用Python中的pandas库对cdn日志进行分析详解
2017/03/07 Python
Python numpy生成矩阵、串联矩阵代码分享
2017/12/04 Python
widows下安装pycurl并利用pycurl请求https地址的方法
2018/10/15 Python
python3实现网络爬虫之BeautifulSoup使用详解
2018/12/19 Python
python程序 创建多线程过程详解
2019/09/23 Python
Python标准库shutil模块使用方法解析
2020/03/10 Python
详解CSS3中强大的filter(滤镜)属性
2017/06/29 HTML / CSS
HTML5自定义属性前缀data-及dataset的使用方法(html5 新特性)
2017/08/24 HTML / CSS
土耳其时尚购物网站:Morhipo
2017/09/04 全球购物
集世界奢侈品和设计师品牌的意大利精品买手店:Tessabit
2019/08/17 全球购物
教师求职推荐信范文
2013/11/20 职场文书
2014年村官工作总结
2014/11/24 职场文书
2016自主招生校长推荐信范文
2015/03/23 职场文书
高三生物教学反思
2016/02/22 职场文书
浅谈Python数学建模之数据导入
2021/06/23 Python
使用python绘制分组对比柱状图
2022/04/21 Python