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

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

 

2、問題分析與解決:函數

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

JS代碼:code

//如下代碼採用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進制的數字。blog

若有疑問歡迎留言討論,謝謝!字符串

(本文爲原創博客,嚴禁非法抄襲或複製,轉載請註明出處:https://www.cnblogs.com/xiao-pengyou/get

相關文章
相關標籤/搜索