JavaScript:如何逆转一个数字?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (127)

下面是我的源代码,用于反转(如镜像中)给定的数字,需要使用反向数组方法来反转数字

var a = prompt("Enter a value");
var b, sum = 0;
var z = a;
while(a > 0)
{
  b = a % 10;
  sum = sum * 10 + b;
  a = parseInt(a / 10);
}
alert(sum);
提问于
用户回答回答于

基本代码,没有任何高阶函数:

function flipInt(n){
    var digit, result = 0;

    while( n ){
        digit = n % 10;                 // get last digit. 123/10 -> 12.3 -> 3
        result = (result * 10) + digit; // 123 -> 1230 + 4 => 1234
        n = n/10|0;                     // remove last digit. 123 -> 12.3 -> 12
    }  
  
    return result;
}


alert(
  "Reverse number: " + flipInt( +prompt("Enter a value") ) 
)

我已经进行了jsperf测试来比较上面的代码和另一个答案的代码,将数字转换为字符串然后数组并将其反转并将其转换为字符串然后再次编号,我的代码运行~140x得更快

用户回答回答于

首先,我认为您不使用数组来存储数字,正在使用java脚本变量

试试这段代码,看看它是否有效

var a = prompt("Enter a value");
var z = a;
var reverse = 0;
while(z > 0)
{
    var digit = z % 10;
    reverse = (reverse * 10) + digit;
    z = parseInt(z / 10);
}
alert("reverse = " + reverse);

扫码关注云+社区

领取腾讯云代金券