js中的排序(sort相关)

对于一个数组的排序,默认的sort()按字符编码排序:

    var testArray=[3,324,5345,6546,134,5654,665];

    testArray.sort();

    alert(testArray);

按照数值大小排序:

    var testArray=[3,324,5345,6546,134,5654,665];

    testArray.sort(function(a,b){return a-b;});

    alert(testArray);

//关于快速排序,之前看到过还有一种较为复杂方法贴出来供参考
/* 1.找一个基准点
2.建立两个数组,分别存储左右的数组
3.利用递归进行下次比较*/

function quickSort(arr){
if (arr.length<=1) {
return arr;
};
var num=Math.floor(arr.length/2);
var numValue=arr.splice(num,1);
var left=[];
var right=[];
for(var i=0;i<arr.length;i++)
if (arr[i]<numValue) {
left.push(arr[i]);
}else{
right.push(arr[i]);
};
return quickSort(left).concat([numValue],quickSort(right));
}
console.log(quickSort([20,15,7,60,12,30,46]));
原文地址:https://www.cnblogs.com/DemoJin/p/4832462.html