js中sort函数的底层实现机制?

据说sort函数内部用了二十多种排序方法,是根据要排序数的乱序程度来决定使用哪一种排序方法的,具体是怎样实现的呢?有木有源代码?

阅读 24k
4 个回答

20多种。。。稍微有点常识不会这么说的,排序一共都没有20多种。

array源码

710行开始。

感谢@ne_smalltown 给出 V8 引擎的 array.js 代码。

原来,V8 引擎 sort 函数只给出了两种排序 InsertionSortQuickSort,数量小于10的数组使用 InsertionSort,比10大的数组则使用 QuickSort

每个引擎的实现,都不一样阿 ...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏