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);