前言
眾所周知JavaScript中的數(shù)字是沒有前置0的,因此需要我們自己進(jìn)行操作來添加前置0,而且還得轉(zhuǎn)換成字符串。
假如生成一個是一共是4位的有前置0的數(shù)據(jù),通常我們能想到的方法是這樣子的:
function addPreZero(num){ if(num<10){  return '000'+num; }else if(num<100){  return '00'+num; }else if(num<1000){  return '0'+num; }else{  return num; }}這種方式的思路比較簡單,根據(jù)當(dāng)前數(shù)據(jù)的位數(shù)來補充相應(yīng)個數(shù)的前置0;不過這樣的算法寫起來比較麻煩,如果需要的前置0非常多的話,那么得寫很多的if...else。
還是基于這種思路,我們可以先算出這個數(shù)字有多少位,然后直接補上相應(yīng)的0就行了:
function addPreZero(num){ var t = (num+'').length,  s = '';  for(var i=0; i<4-t; i++){  s += '0'; }  return s+num;}這種方式的實現(xiàn),是根據(jù)當(dāng)前num的位數(shù),來計算出所有的前置0,然后再拼接上num。
在這個基礎(chǔ)上,我們還可以這樣考慮:比如需要一共是10位的有前置0的數(shù)據(jù),那么首先不管當(dāng)前數(shù)字是多少位的,都先補上9個前置0,然后再截取這個字符串最后的10位,那么獲取到的就是需要的數(shù)據(jù):
function addPreZero(num){ return ('000000000'+num).slice(-10);}總結(jié)
以上就是這篇文章的全部內(nèi)容了,實現(xiàn)想要的結(jié)果很多的方法,我們應(yīng)該盡可能的想出更多的方法,一方面能夠拓展我們的思維,另一方面也能讓我們選擇出更好的方式。希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
 
  | 
新聞熱點
疑難解答