按降序对整数的数字进行排序

Sorting an integer's digits in descending order

为了简单起见,假设我们有一个数字 -- 123456。我需要一个将其作为输入的函数,return 654321,或者说 53283940,return 98543320.

我有一些东西似乎可以工作我只是不确定它是否按照最佳实践完成,它似乎可以被重构为更清洁的东西。这是我的,有什么帮助吗?我是新人,正在努力改进,谢谢。

function descendingOrder(a){
    let b = Array.from(a.toString()).map(Number); // map int into array
    let stringResult = b.sort().reverse().join(""); // sort in ascending, then reverse & join
    let intResult = ~~stringResult; // double bitwise operator to turn str to int
    return intResult; // return final int
}

试试这个:

const sortNumber = (a) => Number([...("" + a)].sort().reverse().join(""));

const test1 = 123456;
console.log(sortNumber(test1));

const test2 = 53283940;
console.log(sortNumber(test2));

const sortNumber = (a) => ~~Array.from(a.toString()).sort().reverse().join("");

const test1 = 123456;
console.log(sortNumber(test1));

const test2 = 53283940;
console.log(sortNumber(test2));