快速排序算法:functionquickSort(arr){varnewArr=[];if(arr.length<2){returnarr;}else{varstandIndex=Math.floor(arr.length/2);varstandNum,standNumObj=arr.splice(standIndex,1);for(letkeyinstandNumObj){for(let_keyinstandNumObj[key]){standNum=standNumObj[key][_key].name;}}standNum=Number(standNum.slice(0,standNum.search('路')))varminArr=[],maxArr=[];for(vari=0,len=arr.length;ifor(letkeyinarr[i]){for(let_keyinarr[i][key]){let_num=arr[i][key][_key];if(Number(_num.slice(0,_num.search('路')))minArr.push(arr[i]);}else{maxArr.push(arr[i]);}}}}newArr=quickSort(minArr).concat(standNumObj,quickSort(maxArr));}returnnewArr;}這里是基于將對(duì)象當(dāng)中的數(shù)字截取出來(lái),比較大小進(jìn)行快排的,快排的原理就是選擇一個(gè)基準(zhǔn)值,也就是以上代碼所定義的standNum。然后比較基準(zhǔn)值的兩邊,添加到最小數(shù)組或者最大數(shù)組中,最后遞歸合并這些數(shù)組。我是根據(jù)我總結(jié)的文章算法入門中的快速排序算法來(lái)擴(kuò)展的。在算法當(dāng)中,選擇中間值作為基準(zhǔn)值的快速排序算法是最快的。