function mergesort(list){ if(list.length > 1){ let middle = list.length/2 return merge(mergesort(list.slice(0, middle)), mergesort(list.slice(middle, list.length))) }else{ return list } } function merge(listA, listB){ if(listA.length === 0){return listB} if(listB.length === 0){return listA} if(listA[0] < listB[0]){ return [listA[0]].concat(merge(listA.slice(1, listA.length), listB)) }else{ return [listB[0]].concat(merge(listA, listB.slice(1, listB.length))) } }