如何在JavaScript中反转负数?

phm*_*lah 3 javascript foreach loops for-loop

我试图以这种方式获得输出,不幸的是,它没有返回预期值...

function reverseInt(int){
    let intRev ="";
    for(let i= 0; i<int.length; i++){
        intRev = int[i]+intRev ;
    }
    return intRev ;
}
console.log(reverseInt("-12345"));
Run Code Online (Sandbox Code Playgroud)

Jas*_*try 11

使用

function reverseInt(n) {
    return Math.sign(n)*parseInt(n.toString().split('').reverse().join(''));
}
Run Code Online (Sandbox Code Playgroud)


Tim*_*sen 5

您的基本逻辑是正确的,但是您需要处理正整数输入和负整数输入之间的差异。对于后者,您希望开始在第二个字符上构建反转的字符串。另外,当返回反转的负数字符串时,还需要在前面添加一个负号。

function reverseInt(int){
    let intRev = "";
    let start = int < 0 ? 1 : 0;
    for (let i=start; i<int.length; i++) {
        intRev = int[i] + intRev;
    }
    return int < 0 ? '-' + intRev : intRev;
}

console.log("12345 in reverse is:  " + reverseInt("12345"));
console.log("-12345 in reverse is: " + reverseInt("-12345"));
Run Code Online (Sandbox Code Playgroud)

一些答案是利用基本字符串反转函数。但是,这个答案试图用您最初的方法来解决问题。