const nums = [9, 2, 8, 5, 20, 5, 8];
function quickSort(array) {
const sort = (arr, left = 0, right = arr.length - 1) => {
if (left >= right) return
const base = arr[left];
let l = left;
let h = right;
while (l < h) {
while (l < h && arr[h] >= base) {
h--;
}
if (l < h) arr[l] = arr[h];
while (l < h && arr[l] <= base) {
l++;
}
if (l < h) arr[h] = arr[l];
}
arr[l] = base;
sort(arr, left, l - 1);
sort(arr, l + 1, right);
}
const newArr = array.concat();
sort(newArr);
return newArr;
}
console.log(quickSort(nums));