sortNum是方法吗

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

张珂

2017-07-14 11:00

根据之前所学,我们在这段代码中定义了sortNum()这个方法,这个方法需要输入a,b两个值,为什么在排序中没有输入这两个值。 有人说这是排序法则,不需要输入,那么原理是什么,是第一个元素分别与后面的元素对比,进行排序,还是元素直接两两对比。 请问有大神可以解释一下吗?

写回答 关注

5回答

  • hcq1221
    2017-07-14 18:15:49
    已采纳

    sortNum()是一个函数,是自己定义的一个排序规则,这个函数名随便自己定义。然后这个函数的作用,比如,你要给一组数排序,可以是升序,也可以是降序,你需要给出说明:例如下面这个函数

    function sumSort(a,b){ return a-b;}(a代表数组中前面的数,b代表数组后面的数)

    如果(a-b)>=1,则a应该排到后面,

    如果(a-b)<-1,则a应该放在前面,

    如果(a-b)在-1~1之间,两个同序(这里的意思应该是只对整数排序)。

    这其实就是一个冒泡排序的过程,每次比较时把前一位数与后一位数相比较,根据上面三种结果来确定两个数的正确位置。(可以自己完整的走一遍这个流程)这是一个升序排序。

    function sumSort(a,b){ return b-a;} 这个函数就是一个降序过程,每次比较时把后面的数减去前面的数,然后把结果与上面三种情况比较,排除正确序列。

    张珂

    非常感谢!

    2017-07-18 11:22:52

    共 1 条回复 >

  • fanaiwen
    2017-11-28 15:34:01

    这是sort的函数规则,sortnum这里只提供了顺序和返回值;

  • qq_曹振_0
    2017-08-30 12:00:21

    sortNum是一个指针,指向了这个函数,然后调用,有点复杂,记住就行

  • ESKY3687376
    2017-07-21 16:13:08

    (a-b)=64----第一次调用函数:a是80,b是16,结果为64>0,因此交换位置:16,80,50,6,100,1

    (a-b)=30----第二次调用函数:a是80,b是50,结果为30>0,因此交换位置:16,50,80,6,100,1


  • weibo_万恶的土豆块o_O_0
    2017-07-14 16:57:12

    不是方法,就是随便取得名字,意思是较小的数,如果是正序排序就取较小的数,是两数相减,如果是整数,则后面的数小,如果是负数,则前面的小。

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题