关于javascript中sort()排序的问题,求大神解答!

2025-03-10 03:45:54
推荐回答(2个)
回答1:

函数当参数传为什么要带自己的参数,带参数那就是调用了,不是引用了。

sort怎么比较那是sort内部的实现,你只需要告诉sort怎么样比较两个数大小就可以了,任何比较算法最关键的区别就是获得每个项的大小。冒泡排序归并排序快速排序的算法都不同的。

回答2:

给你个理解的方式,假如sort函数的代码是这样的:
Array.prototype.sort(compareFn){
var defaultCompareFn = function(a,b){//(冒泡)排序方式内容};
if(!compareFn || typeof compareFn != 'function'){
compareFn = defaultCompareFn;
}
//可能调用的实现方式
var ps = [];
for(var i=0;i ps[i] = compareFn(this[i],this[(i+1)>=this.length?0:(i+1)]);
}
//....
}