在別人寫的代碼中看到的padStart方法,沒用過,淺淺記錄一下~
padStart方法的使用
padStart是 字符串類型的方法,可以用來格式化字符串,在字符串添加指定的字符以達到指定的長度,例如:可以用來格式化日期
用法:
string.padStart(指定長度,填充指定字符)
例如:
let str='123'
str=str.padStart(5,'0')//'00123'
//解析:padStart(5,'0') 的結果是 如果該字符串長度沒有達到5,則該字符串前面填充‘0’以達到長度為5
要注意的幾點:
- 如果沒有傳第二個參數(即沒有指定填充字符),那么默認填充字符為‘ ’一個空格
例如:str=str.padStart(5) // ’ 123’- 如果填充字符串的長度 > 達到目標長度所需要的,那么他會截取填充字符串前面的部分直到達到目標長度
例如:str=str.padStart(5, ‘hello’) // ‘he123’- 如果當前字符串已經達到目標長度則不會添加任何字符
例如:str=str.padStart(2, ‘hello’) // ‘123’
案例:
項目中我們拿到的時間數據單位常常是 秒/毫秒,但是展示時需要將該數據格式化為 時/分/秒,如果時/分/秒需要格式化為兩位數,不足兩位則需要用0補足兩位,這里以 單位:秒
為例
function(sec){const h = Math.floor(sec/3600)const m = Math.floor(sec % 3600/60)const s = sec % 3600 % 60return `${h.padStart(2,'0')}時${m.padStart(2,'0')}分${s.padStart(2,'0')}秒`
}
同理:padStart是在字符串前填充字符,String也存在padEnd方法,其使用方法與padStart類似,作用是在字符串后填充指定字符以達到指定長度,要注意的點也與padStart類似,這里就不贅述了