一.作用
ES2017 引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。
padStart()
用于头部补全,padEnd()
用于尾部补全。注意:方法的返回值为新的字符串
二.用法
padStart()
和padStart()
一共接受两个参数,第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。
1. 常规用法
'x'.padStart(5, 'ab') // 'ababx'
'x'.padStart(4, 'ab') // 'abax'
'x'.padEnd(5, 'ab') // 'xabab'
'x'.padEnd(4, 'ab') // 'xaba'
2.如果原字符串的长度,等于或大于指定的最小长度,则返回原字符串。
'xxx'.padStart(2, 'ab') // 'xxx'
'xxx'.padEnd(2, 'ab') // 'xxx'
'xx'.padStart(2, 'ab') // 'xx'
'xx'.padEnd(2, 'ab') // 'xx'
3.如果用来补全的字符串与原字符串,两者的长度之和超过了指定的最小长度,则会截去超出位数的补全字符串。
'abc'.padStart(10, '0123456789')
// '0123456abc'
4.如果省略第二个参数,默认使用空格补全长度。
'x'.padStart(4) // ' x'
'x'.padEnd(4) // 'x '
三、应用
1.时间格式化
Vue.filter('dataFormat', function(originVal) {
//originVal为毫秒数
const dt = new Date(originVal)
//获取年份
const y = dt.getFullYear()
//获取月份
const m = (dt.getMonth() + 1 + '').padStart(2, '0')
//获取日子
const d = (dt.getDate() + '').padStart(2, '0')
//获取小时
const hh = (dt.getHours() + '').padStart(2, '0')
//获取分钟
const mm = (dt.getMinutes() + '').padStart(2, '0')
获取秒
const ss = (dt.getSeconds() + '').padStart(2, '0')
//返回处理好的时间格式
return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
})