const mergeSort = function(a,b){
var arr = [];
while(a.length && b.length){
a[0] < b [0] ? arr.push(a.shift()) : arr.push(b.shift());
}
while(a.length)
arr.push(a.shift());
while(b.length)
arr.push(b.shift());
return arr;
}
const sort = function(arr){
if(arr.length < 2) return arr;
var split = Math.floor(arr.length/2);
return mergeSort(
sort(arr.slice(0,split)),
sort(arr.slice(split, arr.length))
);
}
console.log(sort([4,9,7,5,3,1,2,10,8,6]));