function quickSort(arr) {
const array = [...arr]
if (array.length <= 1) {
return array
}
const leftArray = []
const rightArray = []
const pivotIndex = Math.floor(Math.random() * array.length)
const pivot = array.splice(pivotIndex, 1)
while (array.length) {
const current = array.shift()
if (current < pivot) {
leftArray.push(current)
} else {
rightArray.push(current)
}
}
return quickSort(leftArray).concat([pivot], quickSort(rightArray))
}
const arr = [2, 3, 41, 1, 6, 53, 4, 6, 87, 4]
const res = quickSort(arr)
console.log('res', res)
console