编辑代码

function mergeSort(arr){
    let len = arr.length
    if(len===1){
        return arr
    }
    let mid = Math.floor(len/2)
    let left_arr = arr.slice(0,mid)
    let right_arr = arr.slice(mid)
    
    return merge(mergeSort(left_arr),mergeSort(right_arr))
}

function merge(left,right) {
    const result = []
    
    while (left.length && right.length) {
        if (left[0] <= right[0]) {
        result.push(left.shift())
        } else {
        result.push(right.shift())
        }
    }
    
    while (left.length) {
        result.push(left.shift())
    }
    
    while (right.length) {
        result.push(right.shift())
    }
    return result
}
console.log(mergeSort([3,1,2,4]));
console.log(mergeSort([-1,1,0,4]));
console.log(mergeSort([9,8,7,6]));