JavaScript中的排序方法

前言

這是一個純粹的個人復習與加深對JS的排序認識的日志,我將從實現(xiàn)原生JS的sort方法開始復習,然后實現(xiàn)快速排序法,插入排序法,冒泡排序法等

重寫原生JS的sort排序

function sort (arr, compare) {
    if (compare === undefined) {
        var compare = function(a, b) {
            return String(a) > String(b) ? 1 : String(a) < String(b) ? -1 : 0;
        }
    }

    for (var r = 0; r < arr.length; r++) {
        for (var i = 0; i < arr.length - r; i++) {
            if (compare(arr[i], arr[i+1]) > 0) {
                var temp = arr[i];
                arr[i] = arr[i+1];
                arr[i+1] = temp;
            }
        }
    }
    return arr;
}

這段代碼大概實現(xiàn)了sort的升序,compare可以是自定義的比較函數(shù),在這里面如何對數(shù)組進行

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

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,029評論 25 709
  • 第3章 基本概念 3.1 語法 3.2 關鍵字和保留字 3.3 變量 3.4 數(shù)據(jù)類型 5種簡單數(shù)據(jù)類型:Unde...
    RickCole閱讀 5,513評論 0 21
  • 1.思想:一個類只能實例化一個對象。 2.實現(xiàn):私有化構(gòu)造方法 3.應用:比如我們電腦上的應用,已經(jīng)打開一個了,在...
    軟件測試筆記閱讀 211評論 0 1
  • 我得大學在我恍惚間還沒回過神就已經(jīng)過去,當我反應過來時已經(jīng)是畢業(yè)!心里想著自己都還是個小孩子,突然卻又面臨找工作,...
    傻小孩閱讀 303評論 4 1
  • 國慶長假剛結(jié)束,一場大雨就帶來了秋天所有的寒冷。當然除了秋寒,更多的是秋燥。那些口燥咽干、 耳鼻上火的癥狀已經(jīng)找上...
    喔豆閱讀 298評論 0 0

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