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

实现数组的sort方法

时间:2015-08-28 02:04:23      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

javascript的Array.sort方法可以传一个函数作为排序标准,今天晚上是坐在阳台上发呆陪老婆,有一句没一句的聊,无聊就实现个sort玩。

代码如下:

	Array.prototype.sort2 = function(callback){
        var self = this;
        for (var i = self.length-1; i >0; i--) {
            for (var j = 0; j < i; j++) {
                if (callback(self[j],self[j+1])) {
                    var t = self[j];
                    self[j]=self[j+1];
                    self[j+1] = t;
                };
            };
            
        };
        return self;
    }
    var a = [];
    for (var i = 0; i < 10000; i++) {
       a.push(Math.random());
    };
    var dt = new Date();
    a.sort2(function(v1,v2){return v1>v2;});
    console.info((new Date())-dt);

  然后在下面的测试过程中,我交替运行sort2和sort,发现根本不是一个数量级的,大量数据的排序冒泡肯定不可行,改天再试试插排,看能不能缩短与内置的sort之间的差距。就怕这个sort是完全用js的解释语言写的,不是javascript写成的,那怎么也不能写成一样了……

实现数组的sort方法

标签:

原文地址:http://www.cnblogs.com/magma/p/4765221.html

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