关于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 相关文章推荐
js获取input长度并根据页面宽度设置其大小及居中对齐
Aug 22 Javascript
javascript 实现 原路返回
Jan 21 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
Feb 13 Javascript
浅谈Javascript实现继承的方法
Jul 06 Javascript
关于AngularJs数据的本地存储详解
Jan 20 Javascript
JS简单获取当前日期和农历日期的方法
Apr 17 Javascript
微信小程序之购物车功能
Sep 23 Javascript
微信小程序 实现点击添加移除class
Jun 12 Javascript
angularjs+bootstrap实现自定义分页的实例代码
Jun 19 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
Nov 22 Javascript
AngularJS自定义表单验证功能实例详解
Aug 24 Javascript
利用Node.js如何实现文件循环覆写
Apr 05 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实现保存submit内容之后禁止刷新
2014/03/19 PHP
如何使用PHP对网站验证码进行破解
2015/09/17 PHP
是 WordPress 让 PHP 更流行了 而不是框架
2016/02/03 PHP
模仿JQuery sortable效果 代码有错但值得看看
2009/11/05 Javascript
js showModalDialog弹出窗口实例详解
2014/01/07 Javascript
巧用局部变量提升javascript性能
2014/02/24 Javascript
bootstrap与Jquery UI 按钮样式冲突的解决办法
2016/09/23 Javascript
原生js代码实现图片放大境效果
2016/10/30 Javascript
JavaScript基础——使用Canvas绘图
2016/11/02 Javascript
利用angular.copy取消变量的双向绑定与解析
2016/11/25 Javascript
详解js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)
2017/01/09 Javascript
vue通过watch对input做字数限定的方法
2017/07/13 Javascript
jquery 输入框查找关键字并提亮颜色的实例代码
2018/01/23 jQuery
iview table高度动态设置方法
2018/03/14 Javascript
vue+elementUI实现图片上传功能
2019/08/20 Javascript
Vue+ElementUI项目使用webpack输出MPA的方法
2019/08/27 Javascript
Vue使用screenfull实现全屏效果
2020/09/17 Javascript
python Django模板的使用方法(图文)
2013/11/04 Python
python轻松实现代码编码格式转换
2015/03/26 Python
Python中IPYTHON入门实例
2015/05/11 Python
python读写ini配置文件方法实例分析
2015/06/30 Python
Python数据类型之List列表实例详解
2019/05/08 Python
Python中低维数组填充高维数组的实现
2019/12/02 Python
python:批量统计xml中各类目标的数量案例
2020/03/10 Python
python读取mysql数据绘制条形图
2020/03/25 Python
python如何调用字典的key
2020/05/25 Python
python连接mysql数据库并读取数据的实现
2020/09/25 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
2021/01/05 Python
使用CSS3制作一个简单的进度条(demo)
2017/05/23 HTML / CSS
Html5在手机端调用相机的方法实现
2020/05/13 HTML / CSS
会计实习期自我鉴定
2013/10/06 职场文书
内业资料员岗位职责
2014/01/04 职场文书
卖车协议书范本4篇
2014/10/01 职场文书
物价局领导班子四风问题整改措施
2014/10/26 职场文书
店长岗位职责
2015/02/11 职场文书
幼儿园教师心得体会范文
2016/01/21 职场文书