一、問題描述:給出一個整數,將這個整數中每位上的數字進行反轉。示例:輸入:123,輸出321;輸入-123,輸出-321;輸入120,輸出-21 二、問題分析與解決: 需要將給出的整數反轉,註意示例中給出的負數和末尾是0的情況。問題比較簡單直接上JS代碼如下: JS代碼: 註意:Number('01 ...
一、問題描述:
給出一個整數,將這個整數中每位上的數字進行反轉。
示例:輸入: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/)