JavaScript String padEnd()
padEnd() 方法用來在字串的結尾填充指定的字元,直到達到指定的長度。
語法:
str.padEnd(targetLength [, padString])
- targetLength 是目標字串長度
- padString 是用來填充的字串,預設是空格
- 回傳填充後的新字串
用法:
'abc'.padEnd(6, '.'); // 'abc...'
'abc'.padEnd(10, '123'); // 'abc1231231'
'abc'.padEnd(6); // 'abc '(預設填充空格)
'abc'.padEnd(5, '12345'); // 'abc12'
如果目標長度小於等於原字串長度,回傳原字串:
'abc'.padEnd(3, '.'); // 'abc'
'abc'.padEnd(2, '.'); // 'abc'
實際應用:
// 對齊表格輸出
var items = [
{ name: 'Apple', price: 30 },
{ name: 'Banana', price: 150 },
{ name: 'Orange', price: 5 }
];
items.forEach(function(item) {
console.log(item.name.padEnd(10, '.') + '$' + item.price);
});
// 'Apple.....$30'
// 'Banana....$150'
// 'Orange....$5'
// 建立固定長度的字串
function createFixedString(str, length) {
return str.padEnd(length, ' ');
}
createFixedString('Hello', 10); // 'Hello '
// 產生進度條
function progressBar(percent) {
var filled = Math.round(percent / 5);
var empty = 20 - filled;
return '[' + '='.repeat(filled).padEnd(20, ' ') + '] ' + percent + '%';
}
progressBar(0); // '[ ] 0%'
progressBar(50); // '[========== ] 50%'
progressBar(100); // '[====================] 100%'
padStart() vs padEnd():
// padStart 從開頭填充
'5'.padStart(3, '0'); // '005'
// padEnd 從結尾填充
'5'.padEnd(3, '0'); // '500'
padEnd() 是 ES2017 (ES8) 新增的方法。