按降序对整数的数字进行排序
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));
为了简单起见,假设我们有一个数字 -- 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));