SOURCE

function radixSort (arr) {
  var max = Math.max(...arr);
  var length = String(max).length;
  for (let i = 0; i < length; i++) {
     arr = sort(arr, length, i);
  }
  return arr;
}
function sort (arr, len, index) {
  var result = [];
  // 数字0-9,有10个桶
  var buckets = [];
  for (let i = 0; i < 10; i++) {
    buckets[i] = [];
  }
  // 填桶
  for (let j = 0; j < arr.length; j++) {
    // String(36).padStart(maxLength, '0')[0] // 0
    // 获取位数
    const val = String(arr[j]).padStart(len, '0')[index];
    buckets[Number(val)].push(arr[j]);
  }
  console.log(buckets);
  for (let i = 0; i < buckets.length; i++) {
    result = result.concat(buckets[i]);
  }
  return result;
}
var a = radixSort([3, 8, 6, 1, 5, 7, 9, 2, 4]);
console.log(a);
console 命令行工具 X clear

                    
>
console