为简单起见,假设我们有一个数字- 123456 。我需要一个将其作为输入并返回654321(或说53283940)的函数,该函数将返回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
}
答案 0 :(得分:2)
尝试一下:
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));