gpt4 book ai didi

javascript - Javascript 的 sort() 是如何工作的?

转载 作者:IT王子 更新时间:2023-10-29 02:49:19 25 4
gpt4 key购买 nike

以下代码如何按照数字顺序对这个数组进行排序?

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

这两组数字如何相互排序?

请帮助一个苦苦挣扎的新手!

最佳答案

Is the array sort callback function called many times during the course of the sort?

If so, I'd like to know which two numbers are passed into the function each time

你可以通过以下方式找到你自己:

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

关于javascript - Javascript 的 sort() 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1494713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com