本小节的注意事项中的疑问。

来源:7-22 数组排序sort()

bblade

2016-04-18 23:34

 1、若返回值<=-1,则表示 A 在排序后的序列中出现在 B 之前。/

2、  若返回值>-1 && <1,则表示 A 和 B 具有相同的排序顺序。
  3、若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。

返回值不是跟0比较吗?为什么和1比较?特别是第二点,有点看不懂,大神解释下?

写回答 关注

3回答

  • weibo_其可ers_0
    2016-11-03 16:59:07

    我也是在W3school上找到的,看了这么多提问的回答,都是说的同样的答案,我还以为是什么规定。很明显,按照慕课的说法,0.2和0.3是一样的,这样的问题就没人发现。。。。。

  • bblade
    2016-04-19 09:56:54

    这是W3school 中的说明,很明显 才是对的。希望管理员能看到 ,改下吧!


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

    若 a 等于 b,则返回 0。

    若 a 大于 b,则返回一个大于 0 的值。


  • 高山彝人
    2016-04-19 00:58:07

    我的个人理解是这样的,假设我们要给1,2,3,4,5这几个数字排序,那么我们就可以这样来做。

    1. 首选,用第一个数也就是1依次减去后面的数字,得-1,-2,-3,-4,所以,这些情况满足第一条,所以, 1在排序后的序列中出现在 2.3.4.5 之前。

    2. 然后,继续从第二位开始,2-1等于一,所以2出现在1之后,其次2-3=-1,2-4=-2,2-5=-3,满足第一条,因此,都在2之后排列。

      所以,这个sort方法实质上就是传入两个参数进行比较,然后通过加减判断谁大谁小进行排序优先级的划分,至于第二条的具有相同的排列顺序我也没弄清楚。

      再仔细理解一下吧。

    bblade

    我找到正确答案了你可以看看

    2016-04-19 09:57:40

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468196 学习 · 21891 问题

查看课程

相似问题