关于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 ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
Apr 01 Javascript
基于KMP算法JavaScript的实现方法分析
May 03 Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
Dec 28 Javascript
在React框架中实现一些AngularJS中ng指令的例子
Mar 06 Javascript
JavaScript中的ParseInt("08")和“09”返回0的原因分析及解决办法
May 19 Javascript
jQuery EasyUI API 中文帮助文档和扩展实例
Aug 01 Javascript
jQuery实现的背景颜色渐变动画效果示例
Mar 24 jQuery
vue.js加载新的内容(实例代码)
Jun 01 Javascript
React 子组件向父组件传值的方法
Jul 24 Javascript
记一次vue去除#问题处理经过小结
Jan 24 Javascript
Layui实现数据表格默认全部显示(不要分页)
Oct 26 Javascript
jquery使用echarts实现有向图可视化功能示例
Nov 25 jQuery
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 删除记录实现代码
2009/03/12 PHP
destoon实现调用图文新闻的方法
2014/08/21 PHP
php输出xml属性的方法
2015/03/19 PHP
curl和libcurl的区别简介
2015/07/01 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
2019/01/23 PHP
常见的5个PHP编码小陋习以及优化实例讲解
2021/02/27 PHP
面向对象的javascript(笔记)
2009/10/06 Javascript
javascript学习之闭包分析
2010/12/02 Javascript
jQuery操作元素css样式的三种方法
2014/06/04 Javascript
浅谈javascript中onbeforeunload与onunload事件
2015/12/10 Javascript
JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax
2016/05/15 Javascript
自己动手制作基于jQuery的Web页面加载进度条插件
2016/06/03 Javascript
canvas时钟效果
2017/02/16 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
2017/07/03 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
2017/10/11 Javascript
解决vuejs 使用value in list 循环遍历数组出现警告的问题
2018/09/26 Javascript
解决vue跨域axios异步通信问题
2019/04/17 Javascript
mpvue实现小程序签到金币掉落动画(api实现)
2019/10/17 Javascript
[55:04]海涛DOTA2死魂复燃6.82版本介绍
2014/09/28 DOTA
简介Python的collections模块中defaultdict类型的用法
2016/07/07 Python
Flask和Django框架中自定义模型类的表名、父类相关问题分析
2018/07/19 Python
python获取中文字符串长度的方法
2018/11/14 Python
Python3安装Pillow与PIL的方法
2019/04/03 Python
python和c语言的主要区别总结
2019/07/07 Python
python利用platform模块获取系统信息
2020/10/09 Python
Expedia印度:您的一站式在线旅游网站
2017/08/24 全球购物
三陽商会官方网站:Sanyo iStore
2019/05/15 全球购物
大学生找工作推荐信范文
2013/11/28 职场文书
酒后驾车标语
2014/06/30 职场文书
2015年党员公开承诺书范文
2015/01/22 职场文书
2015年艾滋病宣传活动总结
2015/03/27 职场文书
学生会主席任命书
2015/09/21 职场文书
初中团支书竞选稿
2015/11/21 职场文书
心得体会格式及范文
2016/01/25 职场文书
php png失真的原因及解决办法
2021/11/17 PHP
win10如何更改appdata文件夹的默认位置?
2022/07/15 数码科技