JavaScript中的排序方法

2018-03-16  本文已影响0人  西洲何在

前言

这是一个纯粹的个人复习与加深对JS的排序认识的日志,我将从实现原生JS的sort方法开始复习,然后实现快速排序法,插入排序法,冒泡排序法等

重写原生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;
}

这段代码大概实现了sort的升序,compare可以是自定义的比较函数,在这里面如何对数组进行

上一篇 下一篇

猜你喜欢

热点阅读