function quickSort(arr){ if(arr.length<=1){return arr}; var mid = Math.floor((arr.length-1)/2); var q = arr.splice(mid,1)[0]; var left = []; var right = []; for(var i = 0;i<arr.length;i++){ if(arr[i]<q){ left.push(arr[i]); } else if(arr[i]>=q){ right.push(arr[i]); } }; return quickSort(left).concat([q],quickSort(right)); } console.log(quickSort([2,5,3,2,1,6,3,9,11,33,4]))