const fn1 = (arr1, arr2) => {
let res = []
while(arr1.length && arr2.length){
if(arr1[0] > arr2[0]){
res.push(arr2.shift())
} else {
res.push(arr1.shift())
}
}
return res.concat([...arr1], [...arr2])
}
const fn2 = (arr) => {
let mid = arr.length/2
if(arr.length < 2){
return arr
}
let left = arr.splice(0, mid)
return fn1(fn2(left), fn2(arr))
}
console.log(fn2([2, 1, 8, 5, 3, 6]))