给定一个数字,写一个函数来输出其反向数字。 (例如,给出123答案是321)
数字应该保留他们的标志;即反转时负数仍应为负数。
这是我的解决方案:
function reverseNumber(n) {
var split = (""+n).split("");
var reverse = split.reverse();
var last = reverse.join('');
if(reverse[reverse.length - 1] == '-') {
var almost = reverse.pop();
var close = reverse.unshift(almost);
var last2 = reverse.join('');
var rev = Number(last2);
return rev;
} else {
var pos = Number(last);
return pos;
}
}
太长了。我想知道是否有人能提出更短的解决方案。
答案 0 :(得分:0)
%backupdirname%
答案 1 :(得分:0)
您可以使用.reduceRight()
,.join()
,+
运算符
+((...props) => props.reduceRight((a, b) => a.concat(b), []))(1,2,3).join("")
答案 2 :(得分:0)
How do you reverse a string in place in JavaScript?
提供了一些有用的信息由于这已经转移到代码高尔夫,另一个答案不会受到伤害。
function revNum(n) {
return (n<0? -1 : 1) * ('' + Math.abs(n)).split('').reverse().join('');
}
[-12.3, 345.23, -0.765, 1.23e5].forEach(n=>console.log(n + ' : ' + revNum(n)));
&#13;