关于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 相关文章推荐
?牟┛途W扣了一??效果出?? target=
May 27 Javascript
jquery实现html页面 div 假分页有原理有代码
Sep 06 Javascript
JavaScript模拟实现键盘打字效果
Jun 29 Javascript
AngularJS Bootstrap详细介绍及实例代码
Jul 28 Javascript
全面解析标签页的切换方式
Aug 21 Javascript
微信小程序链接传参并跳转新页面
Nov 29 Javascript
JavaScript数据类型和变量_动力节点Java学院整理
Jun 26 Javascript
微信小程序之网络请求简单封装实例详解
Jun 28 Javascript
javaScript产生随机数的用法小结
Apr 21 Javascript
在小程序中使用Echart图表的示例代码
Aug 02 Javascript
vue 本地环境跨域请求proxyTable的方法
Sep 19 Javascript
js实现窗口全屏示例详解
Sep 17 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
星际实力自我测试
2020/03/04 星际争霸
杏林同学录(八)
2006/10/09 PHP
php模板函数 正则实现代码
2012/10/15 PHP
Javascript操纵Cookie实现购物车程序
2007/02/15 Javascript
Ext面向对象开发实践(续)
2008/11/18 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
2013/01/24 Javascript
js/jQuery简单实现选项卡功能
2014/01/02 Javascript
jquery用data方法获取某个元素上的事件
2014/06/23 Javascript
详解JavaScript的AngularJS框架中的表达式与指令
2016/03/05 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
jQuery实现动态添加tr到table的方法
2016/12/26 Javascript
微信小程序实现点击按钮修改view标签背景颜色功能示例【附demo源码下载】
2017/12/06 Javascript
手把手教你vue-cli单页到多页应用的方法
2018/05/31 Javascript
使用RN Animated做一个“添加购物车”动画的方法
2018/09/12 Javascript
webpack4+react多页面架构的实现
2018/10/25 Javascript
JavaScript对象的特性与实践应用深入详解
2018/12/30 Javascript
5分钟快速看懂ES6中的反射与代理
2019/12/19 Javascript
windows下安装python paramiko模块的代码
2013/02/10 Python
python使用新浪微博api上传图片到微博示例
2014/01/10 Python
pyqt和pyside开发图形化界面
2014/01/22 Python
windows下python安装paramiko模块和pycrypto模块(简单三步)
2017/07/06 Python
Python中函数及默认参数的定义与调用操作实例分析
2017/07/25 Python
python使用Apriori算法进行关联性解析
2017/12/21 Python
Python简单过滤字母和数字的方法小结
2019/01/09 Python
python常用库之NumPy和sklearn入门
2019/07/11 Python
使用遗传算法求二元函数的最小值
2020/02/11 Python
Python单例模式的四种创建方式实例解析
2020/03/04 Python
Python matplotlib绘制图形实例(包括点,曲线,注释和箭头)
2020/04/17 Python
基于Python快速处理PDF表格数据
2020/06/03 Python
世界第一曲奇连锁店:Mrs. Fields Cookies
2017/02/04 全球购物
白酒市场开发计划书
2014/01/09 职场文书
校园活动策划方案
2014/06/13 职场文书
2015年酒店销售部工作总结
2015/07/24 职场文书
2019入党申请书格式
2019/06/25 职场文书
PHP中国际化的字符串排序和比较对象详解
2021/08/23 PHP
asyncio异步编程之Task对象详解
2022/03/13 Python