码迷,mamicode.com
首页 > 编程语言 > 详细

Array.Sort 谷歌内核 数组大小超过10 排序字段都一致 返回的数组非原数组

时间:2018-03-19 11:45:45      阅读:462      评论:0      收藏:0      [点我收藏+]

标签:code   地址   tail   实现   底层实现   csdn   get   排序规则   使用   

1.如果数据大小小于等于10 都正常

技术分享图片技术分享图片

 

2.数据大小大于10

技术分享图片技术分享图片

 3.js中Array.sort的实现原理

定义:sort() 方法用于对数组的元素进行排序。 
api语法:arrayObject.sort(sortby);参数sortby可选,用于规定排序规则,必须是函数。 
具体是如何实现的? 
V8 引擎 sort 函数只给出了两种排序分别是: InsertionSort 和 QuickSort,数组长度小于等于 10 的用插入排序 InsertionSort,比10大的数组则使用快速排序 QuickSort 
地址:https://github.com/v8/v8/blob/master/src/js/array.js 
Mozilla/Firefox : 归并排序(jsarray.c 源码) 
Webkit :底层实现用了 C++ 库中的 qsort() 方法(JSArray.cpp 源码)

参考链接:http://blog.csdn.net/coder_chenz/article/details/77156047

Array.Sort 谷歌内核 数组大小超过10 排序字段都一致 返回的数组非原数组

标签:code   地址   tail   实现   底层实现   csdn   get   排序规则   使用   

原文地址:https://www.cnblogs.com/IamMars/p/8600636.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!