相关原因
let arr = [1, 2, 3];
arr.sort((a, b) => {
console.log(a, b);
})
// 会发现其进行打印的为2 1;3 2
当我们开始学习的过程中,了解到其应该打印的为1 2; 2 3。但是事实并非如此。同时了解在相关的array.sort(sortfunction)的方法的返回值时,如果返回值大于0,则会进行相关位置的交换;当返回值为小于等于0时则不进行相关位置的交换。通过相关的代码实践,发现事实却是相反的,除了等于0还是不会交换外。
相关示例
let arr = [1, 5, 4, 2];
arr.sort((a, b) => {
return 1;
})
console.log(arr); // [1, 5, 4, 2]
此时位置完全没有发生改变。由此可见,当返回值为大于等于0时会保持原位置不变。
注:以上相关的实践和当初所学到的相关内容不符,不太清楚为什么,可能是我在某些地方实践错误,或者其他的什么原因,欢迎进行相关的内容指正。