我已經編寫了以下代碼以在JavaScript中反轉整數。它工作正常,但在給定-900000的輸入時返回0。有誰知道什麼可能是錯的?在JavaScript中反轉整數
/**
* @param {number} x
* @return {number}
*/
var reverse = function(x) {
var negative_number= false;
var k;
var new_string;
if(x<0){
negative_number = true;
x=Math.abs(x);
}
var n = x.toString(); // convert from number to string
// Step 1. Use the split() method to return a new array
var splitString = n.split(""); // var splitString = "hello".split("");
// ["h", "e", "l", "l", "o"]
if (negative_number)
{
for (var i=0; i< splitString.length-1; i++)
{
splitString[i]=splitString[i+1];
}
}
// Step 2. Use the reverse() method to reverse the new created array
var reverseArray = splitString.reverse(); // var reverseArray = ["h", "e", "l", "l", "o"].reverse();
// ["o", "l", "l", "e", "h"]
// Step 3. Use the join() method to join all elements of the array into a string
var joinArray = reverseArray.join(""); // var joinArray = ["o", "l", "l", "e", "h"].join("");
// "olleh"
//return joinArray;
var number = Number(joinArray);
if (negative_number)
number= -Math.abs(number);
//Step 4. Return the reversed string
return number;
};
什麼是這個for循環的地步? 'for(var i = 0; i
你想要完成什麼?你期待這件事呢?另外,通過-1002給出-2200。 – Jorg
@StephenQuan:如果它是負數,我需要從中刪除負號。哦,我看到我已經完成了上面的工作。 –