我必须对数字不相同的输入数字进行排序。 我试过这段代码。但不适用于重复的数字。
function abc(n){
return +n.toString().split('').reverse().join('');
//take n=1021 it will return 1201, instead of 2110
}
答案 0 :(得分:3)
您的逻辑中没有实现任何排序:
function abc(n) {
return +n.toString().split('').sort().reverse().join('');
}
console.log(abc(1021)); // prints "2110"
或者,如果您只定位支持Array.from()
功能的浏览器:
function abc(n) {
return Array.from(String(n), Number).sort().reverse().join('');
};
console.log(abc(1021));
答案 1 :(得分:1)
除了在排序后使用reverse
,您可以直接降序排序并省略反转。
function desc(n) {
return [...n.toString()].sort((a, b) => b - a).join('');
}
console.log(desc(1021)); // '2110'