javascript array.sort兼容性問題

在開發(fā)過程中發(fā)現(xiàn),各個瀏覽器上的Array.prototype.sort內(nèi)部算法實現(xiàn)機制不一樣,導致執(zhí)行結(jié)果有偏差。
根據(jù)stackoverflow上的問答和維基百科上的結(jié)果,可以知道 chrome 目前采用快排(QuickSort)和插入排序(InsertaionSort),而對于火狐,它采用歸并排序(MergeSort)。而IE使用快排。

另外IE的sort 需要顯示聲明返回-1, 0, 1三種比較結(jié)果才可正常工作,而Chrome, Firefox中可以直接返回true, false等。

image.png

這段代碼,在chrome中將返回:

image.png

但是在IE里數(shù)組順序并不會發(fā)現(xiàn)變化。
因此,兼容性寫法是:
image.png

確保回調(diào)函數(shù)中返回的結(jié)果是顯示的-1,0,1。
轉(zhuǎn)載
作者:SCQ000
鏈接:http://www.itdecent.cn/p/459e6d141aef
來源:簡書
簡書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請聯(lián)系作者獲得授權(quán)并注明出處。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 在開發(fā)過程中發(fā)現(xiàn),各個瀏覽器上的Array.prototype.sort內(nèi)部算法實現(xiàn)機制不一樣,導致執(zhí)行結(jié)果有偏差...
    SCQ000閱讀 4,588評論 0 52
  • Java 容器 & 泛型:四、Colletions.sort 和 Arrays.sort 的算法 Writer:B...
    青城樓主閱讀 620評論 0 1
  • 概述 排序有內(nèi)部排序和外部排序,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進行排序,而外部排序是因排序的數(shù)據(jù)很大,一次不能容納全部...
    蟻前閱讀 5,297評論 0 52
  • 1.插入排序—直接插入排序(Straight Insertion Sort) 基本思想: 將一個記錄插入到已排序好...
    依依玖玥閱讀 1,347評論 0 2
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標準。 注意:講述HT...
    kismetajun閱讀 28,797評論 1 45

友情鏈接更多精彩內(nèi)容