給出一個整數,將這個整數中每位上的數字進行反轉(JavaScript編程)


一、問題描述:
給出一個整數,將這個整數中每位上的數字進行反轉。
示例:輸入:123,輸出321;輸入-123,輸出-321;輸入120,輸出-21

 

二、問題分析與解決:

需要將給出的整數反轉,注意示例中給出的負數和末尾是0的情況。問題比較簡單直接上JS代碼如下:

JS代碼:

//以下代碼采用ES6的箭頭函數寫法
const reverseNum = (num) => {
  if (num >= 0) {
    const numStr = String(num);//將數字轉成字符串,方便轉成數組
    return Number(numStr.split('').reverse().join(''));//詳見注釋1
  } else {
    const numStr = String(num);//將數字轉成字符串,方便轉成數組
    return -numStr.slice(1).split('').reverse().join('');//詳見注釋2
  }
};

//運行以上代碼:
reverseNum(1230);//321
reverseNum(-123);//-321
reverseNum(-1230);//-321

/*
  注釋1(以輸入數字1230為例):
numStr.split('')//將字符‘123’轉成數組['1','2','3','0']
.reverse()//反轉數組,得到['0','3','2','1']
.join('')//數組轉成字符串'0321'
Number()//最后加將反轉后的字符串轉為數字得到321
*/

/*
注釋2:
與注釋1中不同的是先截取字符串numStr的第1位到最后一位,不截取負號,最后反轉完后直接用-將反轉后的字符串轉為負數,得到-321
+、-單獨使用表示將其后面的元素轉成數字類型,相當於Number()方法,只不過'-'會將后面的元素轉化成負數。注意:-0得到-0,+0得到0,不是數字返回NaN如:+undefined //NaN
*/

注意:Number('0123')會自動舍棄首位的0,Number方法和+、-操作默認將參數轉為10進制的數字。

如有疑問歡迎留言討論,謝謝!

(本文為原創博客,嚴禁非法抄襲或復制,轉載請注明出處:https://www.cnblogs.com/xiao-pengyou/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM