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