前言
这是一个纯粹的个人复习与加深对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可以是自定义的比较函数,在这里面如何对数组进行
网友评论