一:冒泡排序
let arr = [25,36,21,66,77,33,17,120,999,1,100,356]; function babelSort(arr) { let temNum = 0; for(let i=0;i<arr.length-1;i++){ for(let j=0;j<arr.length-1-i;j++){ if(arr[j]<arr[j+1]){ temNum = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temNum; } } } return arr; } console.log(babelSort(arr)); // [999, 356, 120, 100, 77, 66, 36, 33, 25, 21, 17, 1]
二:快速排序
let arr = [25,36,21,66,77,33,17,120,999,1,100,356]; // 快速排序 function quickSort(arr) { if(arr.length <=1 ) return arr; let flagNum = arr.splice(0,1)[0]; let leftArr = []; let rightArr = []; arr.forEach(item=>{ if(item>flagNum){ rightArr.push(item); }else{ leftArr.push(item); } }); return quickSort(leftArr).concat([flagNum],quickSort(rightArr)); } console.log(quickSort(arr)); // [1, 17, 21, 25, 33, 36, 66, 77, 100, 120, 356, 999]
三:sort 排序
function asc(a,b) { return a-b; } function desc(a,b) { return b-a; } arr.sort(asc); // 从小到大排序 arr1.sort(desc); // 从大到小排序 console.log(arr); // [1, 17, 21, 25, 33, 36, 66, 77, 100, 120, 356, 999] console.log(arr1); // [999, 356, 120, 100, 77, 66, 36, 33, 25, 21, 17, 1]