const merge = (rightArr,leftArr)=>{
const res = [];
while(rightArr.length>0 && leftArr.length>0){
res.push(rightArr[0]<leftArr[0]?rightArr.shift():leftArr.shift())
}
return res.concat(leftArr).concat(rightArr);
}
const mergeSort = (arr)=>{
if(arr.length===1){
return arr
}
const middle = Math.floor(arr.length/2);
const leftArr = arr.slice(0,middle);
const rightArr = arr.slice(middle);
return merge(mergeSort(leftArr),mergeSort(rightArr))
}