// 归并排序 function merge(left,right){ let temp = []; while(left.length && right.length){ if(left[0]<right[0]){ temp.push(left.shift()); }else{ temp.push(right.shift()); } } return temp.concat(left,right); } function mergeSort(arr){ if(arr.length <= 1){ return arr; } let middle = Math.floor(arr.length/2); let left = arr.slice(0,middle); let right = arr.slice(middle); return merge(mergeSort(left),mergeSort(right)); } console.log(mergeSort([5,3,2]))