JS 输入整数,实现排列问题

给定一个整数m 找出值最小的排列数n(位数相等的最小数)
例如 m = 213 结果:n = 123
例如 m = 9901 结果:n =1099
例如 m = 999532880143 结果:n = 102334588999
例如 m = 12000011 结果:n = 10000112

function test(n) {
    let arr = n.toString().split("").sort();
    if (arr[0] === "0") {
        for (let i = 0; i < arr.length; i++) {
            if (arr[i] !== "0") {
                let start = arr[i];
                arr.splice(i, 1);
                arr.unshift(start)
                break;
            }
        }
    }
    return Number(arr.join(""));
}

注意输入数字别溢出就行。否则就用bigInt