将Array.prototype.sort()与compare函数一起使用时的排序算法是什么

时间:2018-11-23 04:34:22

标签: javascript arrays algorithm sorting

我知道使用Array.prototype.sort()时,不同的浏览器都有自己的排序算法实现。但是我很好奇是否确实将它与比较功能一起使用仍然像使用不带比较功能的情况一样使用相同的排序算法。如果是这样,比较功能是否会对算法产生性能影响。如果没有,它使用什么排序算法?

场景例如

const arr = [23, 1, 5, 2, 10, 2]
arr.sort((a, b) => a - b)

1 个答案:

答案 0 :(得分:0)

是的,它是相同的排序功能。从技术上讲,当不通过比较函数时,它仍将比较函数用作默认值。 Mozilla对未提供比较功能时使用的比较功能进行了非常详细的说明:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Description