SOURCE

function sort(arr) {
	if (arr.length <= 1) { return arr; }
  let pivotIndex = Math.floor(arr.length / 2);
  let pivot = arr.splice(pivotIndex, 1)[0];
  let left = [];
  let right = [];
  for (let i = 0; i < arr.length; i++){
    if (arr[i] < pivot) {
      left.push(arr[i]);
    } else {
      right.push(arr[i]);
    }
  }
  return sort(left).concat([pivot], sort(right));
}

const nums = [2, 4, 1, 6, 5, 3, 7];
// 输出 [1, 2, 3, 4, 5, 6, 7]
console.log(sort(nums));
console 命令行工具 X clear

                    
>
console