前言:ES2017 引入了字符串补全长度的功能。padStart()用于头部补全,padEnd()用于尾部补全。

1、String.prototype.padStart()
padStart() 方法从字符串的开头用另一个字符串填充一个字符串到一定长度,并返回一个达到一定长度的结果字符串。
String.prototype.padStart(padLength [,padString]);

padStart() 方法有两个参数:
padLength 是填充后的结果字符串的长度。如果 padLength 小于字符串的长度,则字符串按原样返回,没有填充。
padString 是一个可选参数,用于填充字符串。此参数的默认值为“ ”。如果 padString 大于 padLength,padString 将被截断,只填充最左边的部分。
实例:

let str = '1234'.padStart(8,'0');
console.log(str); // "00001234" 
let str = 'abc'.padStart(5);
console.log(str); // "  abc"

2、String.prototype.padEnd()
与 padStart() 方法类似,padEnd() 方法用另一个字符串填充一个字符串到特定长度。但是,padEnd() 方法从字符串的末尾开始填充。
String.prototype.padEnd(padLength [,padString]);
padEnd() 方法有两个参数:
padLength 是填充后的结果字符串的长度。如果 padLength 小于字符串的长度,则字符串按原样返回,没有填充。

padString 是一个可选参数,用于填充字符串。此参数的默认值为“ ”。如果 padString 大于 padLength,padString 将被截断,只填充最左边的部分。
实例:

let str = 'abc'.padEnd(5);
console.log(str); // "abc  "
 
str = 'abc'.padEnd(5,'*');
console.log(str); // "abc**"
3、实际应用(用于格式化yyyy-mm-dd日期格式)
let date = new Date()
let year = date.getFullYear()
let month = (date.getMonth()+1).toString().padStart(2,'0')
let day = date.getDate().toString().padStart(2,'0')
var time = year+'-'+month+'-'+day
console.log(time)

标签: none

评论已关闭