var numArray = [4,2,5,3];
numArray.sort(function(a,b){
console.log("a:" + a + ", b:" + b);
return a-b;
});
三个可能的返回数字是:<0(小于 0)、0 或 >0(大于 0):
Less than 0: Sort "a" to be a lower index than "b"
Zero: "a" and "b" should be considered equal, and no sorting performed.
Greater than 0: Sort "b" to be a lower index than "a".
我在控制台上变得像这样
甲:4,乙:2 甲:4,乙:5 甲:5,乙:3 甲:2,乙:3 甲:4,乙:3 [2、3、4、5]
如上所示,我可以知道 a 和 b 的值是如何变化的吗?
在第一步中,a=4 和 b=2。在这种情况下,它将交换。然后数组变为[2,4,5,3];
在第二步中,a=4 和 b=5。在这种情况下,项目保持不变。然后数组变为[2,4,5,3];
第三步,a=5,b=3。在这种情况下,它将交换。然后数组变为[2,4,3,5];
到这一步为止一切正常。但在那之后,a 和 b 的值如何分别变为 2 和 3 > 而不是 2 和 4。
任何人都可以帮助我吗?
提前致谢