关于javascript sort()排序你可能忽略的一点理解

 更新时间:2017年07月18日 11:55:23   作者:黑阔大人  
最近在研究Javascript发现了其中一些之前忽略的问题,所以想着总结分享出来,下面这篇文章主要给大家介绍了关于javascript sort()排序你可能忽略的一点理解,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。

前言

在Javascript数组排序中有一个sort()方法,sort()方法可以说分为两种,一种是文字数组排序,一种是数字数组排序。下面这篇文章主要和大家分享了关于最近学习javascript sort()排序发现了一点理解,下面话不多说了,来一起看看详细的介绍吧。

sort()排序的原理

最近在leetcode刷题的时候遇到一个排序问题之前一直都忽略了sort排序的原理,让我们看下w3c对于sort()的说明:

如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。

要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

这样就可以解释为什么[0,1,5,10,8]的升序排列会是[0,1,10,5,8]了


sort()排序参数的使用

w3c对于参数的使用还有如下一段说明:如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:

  • 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
  • 若 a 等于 b,则返回 0。
  • 若 a 大于 b,则返回一个大于 0 的值。

所以得出如果想要升序排列的话通过a-b就可以实现 sort((a,b)=>a-b) ,反序也可以通过这个来做到:

总结

以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • JS Object.preventExtensions(),Object.seal()与Object.freeze()用法实例分析

    JS Object.preventExtensions(),Object.seal()与Object.freeze()用

    这篇文章主要介绍了JS Object.preventExtensions(),Object.seal()与Object.freeze()用法,结合实例形式分析了javascript控制对象扩展、密封、冻结等相关函数与操作技巧,需要的朋友可以参考下
    2018-08-08
  • 详解js获取video任意时间的画面截图

    详解js获取video任意时间的画面截图

    这篇文章主要介绍了js获取video任意时间的画面截图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 鼠标拖拽移动子窗体的JS实现

    鼠标拖拽移动子窗体的JS实现

    这篇文章主要介绍了鼠标拖拽移动子窗体的JS实现,需要的朋友可以参考下
    2014-02-02
  • Jquery调用iframe父页面中的元素及方法

    Jquery调用iframe父页面中的元素及方法

    对于javascript操作iframe父级页面元素的方法,大家应该都非常清楚了,下面结合当前非常流行的jquery分享一下如何使用jquery查找和操作iframe父级页面元素的实现代码。
    2016-08-08
  • JavaScript实现网页留言板功能

    JavaScript实现网页留言板功能

    这篇文章主要为大家详细介绍了JavaScript实现网页留言板功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • js判断子窗体是否关闭的方法

    js判断子窗体是否关闭的方法

    这篇文章主要介绍了js判断子窗体是否关闭的方法,涉及javascript针对子窗体的获取与属性判定技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码

    EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码

    这篇文章主要介绍了EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码 的相关资料,需要的朋友可以参考下
    2016-06-06
  • JavaScript实现图片缩放功能

    JavaScript实现图片缩放功能

    本文,我们来讲讲如何使用 JavaScript 实现图片的缩放,当然,我们可以类比到其他的元素,比如视频的缩放,文中有详细的代码示例,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-07-07
  • 纯JS实现表单验证实例

    纯JS实现表单验证实例

    这篇文章主要介绍了纯JS实现表单验证实例,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-12-12
  • 小程序卡片切换效果组件wxCardSwiper的实现

    小程序卡片切换效果组件wxCardSwiper的实现

    这篇文章主要介绍了小程序卡片切换效果组件wxCardSwiper的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02

最新评论