关于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中setMonth()方法的使用详解
Jun 11 Javascript
jquery实现横向图片轮播特效代码分享
Nov 19 Javascript
Jquery中map函数的用法
Jun 03 Javascript
Angular 2应用的8个主要构造块有哪些
Oct 17 Javascript
seajs模块之间依赖的加载以及模块的执行
Oct 21 Javascript
使用jquery实现的循环连续可停顿滚动实例
Nov 23 Javascript
React中jquery引用的实现方法
Sep 12 jQuery
vue-infinite-loading2.0 中文文档详解
Apr 08 Javascript
angularJs select绑定的model取不到值的解决方法
Oct 08 Javascript
vue 翻页组件vue-flip-page效果
Feb 05 Javascript
jquery传参及获取方式(两种方式)
Feb 13 jQuery
微信小程序12行js代码自己写个滑块功能(推荐)
Jul 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写的带缓存数据功能的mysqli类
2012/09/06 PHP
PHP对MongoDB[NoSQL]数据库的操作
2013/03/01 PHP
如何修改和添加Apache的默认站点目录
2013/07/05 PHP
php统计文章排行示例
2014/03/04 PHP
php+curl 发送图片处理代码分享
2015/07/09 PHP
thinkPHP5实现数据库添加内容的方法
2017/10/25 PHP
PHP封装的mysqli数据库操作类示例
2019/02/16 PHP
基于laravel belongsTo使用详解
2019/10/18 PHP
jquery重复提交请求的原因浅析
2014/05/23 Javascript
详解javascript的变量与标识符
2016/01/04 Javascript
JS快速实现移动端拼图游戏
2016/09/05 Javascript
jQuery 循环遍历改变a标签的href(实例讲解)
2017/07/12 jQuery
jsonp跨域获取数据的基础教程
2018/07/01 Javascript
微信小程序scroll-view实现字幕滚动
2018/07/14 Javascript
使用layui 渲染table数据表格的实例代码
2018/08/19 Javascript
为jquery的ajax请求添加超时timeout时间的操作方法
2018/09/04 jQuery
JS多个异步请求 按顺序执行next实现解析
2019/09/16 Javascript
JavaScript读取本地文件常用方法流程解析
2020/10/12 Javascript
详解Vue中的watch和computed
2020/11/09 Javascript
JS算法教程之字符串去重与字符串反转
2020/12/15 Javascript
原生JavaScript实现轮播图
2021/01/10 Javascript
[06:21]2014DOTA2国际邀请赛 庆祝VG首阶段领跑;B叔为挣牛排半夜整理情报
2014/07/13 DOTA
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
2014/02/24 Python
Python中的作用域规则详解
2015/01/30 Python
Python 爬虫模拟登陆知乎
2016/09/23 Python
python Matplotlib画图之调整字体大小的示例
2017/11/20 Python
解决python爬虫中有中文的url问题
2018/05/11 Python
python面试题小结附答案实例代码
2019/04/11 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
2019/05/15 Python
python 获取等间隔的数组实例
2019/07/04 Python
优质有机椰子产品:Dr. Goerg
2019/09/24 全球购物
惠普新加坡官方商店:HP Singapore
2020/04/17 全球购物
反腐倡廉演讲稿
2014/05/22 职场文书
教师作风整改措施思想汇报
2014/10/12 职场文书
导游词之京东大峡谷旅游区
2019/10/29 职场文书
使用Django框架创建项目
2022/06/10 Python