const arr = [45, 656, 454, 56, 567, 457, 89, 32, 23];
function mergeSort(arr) {
if (arr.length < 2) return arr;
const middle = Math.floor(arr.length / 2);
const left = arr.slice(0, middle);
const right = arr.slice(middle, arr.length);
const merge = function (leftArr, rightArr) {
const resultArr = [];
while (leftArr.length && rightArr.length) {
resultArr.push(left[0] < rightArr[0] ? leftArr.shift() : rightArr.shift())
}
return [...resultArr, ...leftArr, ...rightArr];
}
return merge(
mergeSort(left),
mergeSort(right)
)
}
console.log(mergeSort(arr));