gpt4 book ai didi

javascript - 为什么 return -1 在 JavaScript 中将数组的第一个值排序在第二个值之前

转载 作者:行者123 更新时间:2023-11-28 04:57:26 24 4
gpt4 key购买 nike

   function compare (value1, value2) {
if(value1 < value2) {
return -1;
} else if (value1 > value2) {
return 1;
} else {
return 0;
}
}

var values = [0, 6, 8, 5];
values.sort(compare);
alert(values); // 0,5,6,8

我知道 -1 表示第一个在第二个之前,1 表示它在第二个之后,但这背后的逻辑是什么? -1 0 和 1 是否适用于排序以外的方法?

最佳答案

我喜欢考虑的方式是,如果你从 b 中减去两个数字 a,你会得到一个负数,这一定意味着 b code> 更大,如果你得到一个正数,那么 a 更大,如果你得到 0 那么它们都是相等的。 sort() 将根据较小、较大和相等进行排序。

例如:

-1的情况

a = 6 and b = 7
a - b = -1 // b is larger

情况1

a = 6 and b = 5
a - b = 1 // a is larger

0的情况

a = 6 and b = 6 
a - b = 0 // both are equal

关于javascript - 为什么 return -1 在 JavaScript 中将数组的第一个值排序在第二个值之前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42429241/

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