实际上,从ES2019开始,JavaScript的Array#sort已经变得稳定了。在之前的版本中,sort方法并没有保证相等元素的相对位置,但是现在,它将保留它们的相对位置。我们可以通过下面的代码来验证这一点:
const arr = [5, 2, 1, 1, 3, 9, 4]; arr.sort((a, b) => a - b); console.log(arr);
输出结果为: [1, 1, 2, 3, 4, 5, 9]
可以看到,两个相等的1的位置被保留了。因此,我们可以放心地使用Array#sort方法来对数组进行排序,并且不需要担心其稳定性问题。