以下代码如何将该数组按数字顺序排序?
var array=[25, 8, 7, 41] array.sort(function(a,b){ return a - b })
我知道如果计算结果是…
小于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
那么如何将两组数字彼此相对排序?
请帮助陷入困境的新手!
是
如果是这样,我想知道每次将两个数字传递给函数
您可以通过以下方式了解自己:
array.sort((a,b) => { console.log(`comparing ${a},${b}`); return a > b ? 1 : a === b ? 0 : -1; });
编辑
这是我得到的输出:
25,8 25,7 8,7 25,41