sort 各浏览器实现不同,稳定性也不同,如果前端处理排序需要自定义 sort
Array.prototype.sort 是 V8 中的一个内置函数。
以前,它对于数组长度小于或者等于 10 的时候,采用的是稳定的插入排序,否则采用不稳定快速排序。这也就意味着开发人员如果要求稳定性,则需要自己实现。
好在从 V8 v7.0 / Chrome 70 之后开始采用稳定的 TimSort。
排序前后两个相等的数相对位置不变,则算法稳定。