function QuickSort(list) { if (list.length < 2) { return list; } let leftList = []; let rightList = []; const pivotList = []; const pivot = list[0]; for (let x = 0; x < list.length; x++) { if(list[x] < pivot) { leftList.push(list[x]); } else if (list[x] === pivot) { pivotList.push(list[x]); } else { rightList.push(list[x]); } } leftList = QuickSort(leftList); rightList = QuickSort(rightList); return leftList.concat(pivotList, rightList); } let sortedList = QuickSort([5,4,1,5,7,5,9,4]); console.log(sortedList.toString());