源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-05-18 16:56 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:关于javascript sort()排序你可能忽略的一点理解
[b]前言[/b] 在Javascript数组排序中有一个sort()方法,sort()方法可以说分为两种,一种是文字数组排序,一种是数字数组排序。下面这篇文章主要和大家分享了关于最近学习javascript sort()排序发现了一点理解,下面话不多说了,来一起看看详细的介绍吧。 [b]sort()排序的原理[/b] 最近在leetcode刷题的时候遇到一个排序问题之前一直都忽略了sort排序的原理,让我们看下w3c对于sort()的说明: 如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。 要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。 这样就可以解释为什么[0,1,5,10,8]的升序排列会是[0,1,10,5,8]了 [img]http://files.jb51.net/file_images/article/201707/2017718115421762.png?2017618115431[/img] [b]sort()排序参数的使用[/b] w3c对于参数的使用还有如下一段说明:如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下: [list] [*]若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。[/*] [*]若 a 等于 b,则返回 0。[/*] [*]若 a 大于 b,则返回一个大于 0 的值。[/*] [/list] 所以得出如果想要升序排列的话通过a-b就可以实现 [code]sort((a,b)=>a-b)[/code] ,反序也可以通过这个来做到: [img]http://files.jb51.net/file_images/article/201707/2017718115500312.png?2017618115510[/img] [b]总结[/b] 以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程素材网的支持。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部