1. 程式人生 > >Array.Sort 谷歌內核 數組大小超過10 排序字段都一致 返回的數組非原數組

Array.Sort 谷歌內核 數組大小超過10 排序字段都一致 返回的數組非原數組

code get qsort blob div 數據大小 可選 sdn fire

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 排序字段都一致 返回的數組非原數組