SOURCE

// 归并排序
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]))
console 命令行工具 X clear

                    
>
console