我想使用 Array.prototype.sort() 来对带有重复值的数组进行排序。
例如,如果我执行这个语句 [1, 2, 0, 1].sort((a, b) => a + b)
,以便按降序获得排序后的数组,我会得到相同的数组 [1, 2, 0, 1]
。
为什么会发生这种情况?我该如何使用 Array.prototype.sort
对这个数组进行排序?是因为 JavaScript 的 Array sort 对于排序重复的值不可靠,还是我提供的函数没有做出正确的比较?我希望能够使用 Array.prototype.sort
实现这一点,而不必编写自己的排序函数。
谢谢!
.sort((a, b) => a - b)
可能会用到。而且sort
不会返回一个新的数组,它会改变现有的数组。 - Eddie