ES6+ padEnd()
1. 前言
本節(jié)介紹 ES6 的字符串新增方法 padEnd
和 padStart
一樣也是補全字符串的長度的,但是它的補全位置是在原字符串的右側(cè)末尾進行補全的。此方法會返回一個新的字符串,不會對原字符串進行修改。
2. 方法詳情
padEnd()
在原字符串末尾填充指定的填充字符串直到目標長度并返回一個新的字符串,不會對原字符串進行修改。
使用語法:
str.padEnd(targetLength [, padString])
參數(shù)說明:
參數(shù) | 描述 |
---|---|
targetLength | 當前字符串需要填充到的目標長度。如果這個數(shù)值小于當前字符串的長度,則返回當前字符串本身 |
padString | (可選) 填充字符串。如果字符串太長,使填充后的字符串長度超過了目標長度,則只保留最左側(cè)的部分,其他部分會被截斷。默認補全的字符串為 ' ' |
3. 使用場景
- 擴展字符串長度
- 設(shè)置指定字符串的長度
- 在實戰(zhàn)中補全時間戳的毫秒
4. 實例
1. 拼接字符串。
"imooc".padEnd(10, 'ilove') // "imoocilove"
2. 如果原字符串的長度,等于或小于最大長度,則字符串補全不生效,返回原字符串。
'imooc'.padEnd(5, 'ab') // 'imooc'
'imooc'.padEnd(2, 'ab') // 'imooc'
3. 如果補全的字符串和原字符串的長度大于目標(targetLength)的長度,補全的字符串會被截取。
'imooc'.padEnd(7, 'abc') // 'imoocab'
4. 如果補全的字符串和原字符串的長度小于目標(targetLength)的長度,補全的字符串會被重復,多余的部分會被裁剪。
'imooc'.padEnd(9, 'ab') // 'imoocabab'
'imooc'.padEnd(10, 'ab') // 'imoocababa'
5. 如果省略第二個參數(shù),默認使用空格補全長度。
'imooc'.padEnd('7') // 'imooc '
5. 場景實例(補全時間戳的毫秒)
有時候我們處理后端返回的時間戳數(shù)據(jù)的時候,會發(fā)現(xiàn)很多都是秒,是 10 位,這主要是因為數(shù)據(jù)庫存儲的問題。這時候我們需要補全到毫秒,可以借助 padEnd 來進行補全操作。如下:
let timestamp = 1581828518
timestamp = String(timestamp).padEnd(13, '0'); // 1581828518000
String()
函數(shù)對時間戳 timestamp
進行類型轉(zhuǎn)換,轉(zhuǎn)換為字符串進行操作。
6. 小結(jié)
本節(jié)講解了字符串的 padEnd()
方法的使用,需要注意以下幾點:
- 該方法不會對原字符串進行修改;
- 在沒有第二個參數(shù)時,則用空格填充;
- 在實戰(zhàn)中使用在補全時間戳的毫秒中會使代碼變得非常簡潔。