JSFiddle - React, Tailwind, and code Playground
by Diana Lemen
JavaScript
const values = [1,2,3,4,3,2,4,3,5,6,7,4,5,6,7,8,9,0,10];
function merge(leftArr, rightArr) {
let mergedArr = [];
/* while(leftArr.length && rightArr.length) {
if(leftArr[0] > rightArr[0]) {
mergedArr = [rightArr[0], ...mergedArr]
} else {
mergedArr = [leftArr[0], ...mergedArr]
}
leftArr.shift();
rightArr.shift();
} */
return mergedArr;
}
function split(arr) {
const mid = Math.ceil(arr.length / 2);
if(arr.length === 1) return arr;
console.log('merge', leftArr, rightArr)
split(
merge(arr.slice(0, mid), arr.slice(mid, arr.length))
);
}
split(values);