JavaScript Array#sort()函数使用哪种算法?我知道它可以采取各种各样的参数和函数来执行不同类型的排序,我只是对vanilla排序使用哪种算法感兴趣.
以下代码如何按数字顺序对此数组进行排序?
var array=[25, 8, 7, 41]
array.sort(function(a,b){
return a - b
})
Run Code Online (Sandbox Code Playgroud)
我知道如果计算结果是......
小于0:"a"被排序为低于"b"的索引.
零: "a"和"b"被认为是相等的,并且不执行排序.
大于0: "b"被排序为比"a"更低的索引.
在排序过程中多次调用数组排序回调函数?
如果是这样,我想知道每次将哪两个数字传递给函数.我假设它首先取"25"(a)和"8"(b),然后是"7"(a)和"41"(b),所以:
25(a) - 8(b)= 17(大于零,所以将"b"排序为低于"a"的索引):8,25
7(a) - 41(b)= -34(小于零,所以将"a"排序为比"b"更低的索引:7,41
那么这两组数字如何相互排序?
请帮助一个苦苦挣扎的新手!