字符串补全-日期

padStart()方法, padEnd()方法

判断 字符是位数是否有 第一个参数那么多,没有就使用第二个参数补全。直到字符串长度符合第一个参数的数量。

1
2
3
4
5
6
7
8
9
filters:{
formatDate(date){
const newdata = new Date(date)
const year = newdata.getFullYear()
const month = newdata.getMonth().toString().padStart(2,0)
const day = newdata.getDay().toString().padStart(2,0)
return year+'-'+month+'-'+day
}
},

ES2017 引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。

1
2
3
4
"x".padStart(5, "ab"); // 'ababx'
"x".padStart(4, "ab"); // 'abax'
"x".padEnd(5, "ab"); // 'xabab'
"x".padEnd(4, "ab"); // 'xaba'

上面代码中,padStart()padStart()一共接受两个参数,第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。

如果原字符串的长度,等于或大于指定的最小长度,则返回原字符串。

1
2
"xxx".padStart(2, "ab"); // 'xxx'
"xxx".padEnd(2, "ab"); // 'xxx'

如果用来补全的字符串与原字符串,两者的长度之和超过了指定的最小长度,则会截去超出位数的补全字符串。

1
2
"abc".padStart(10, "0123456789");
// '0123456abc'

如果省略第二个参数,默认使用空格补全长度。

1
2
"x".padStart(4); // ' x'
"x".padEnd(4); // 'x '

padStart()的常见用途是为数值补全指定位数。下面代码生成 10 位的数值字符串。

1
2
3
"1".padStart(10, "0"); // "0000000001"
"12".padStart(10, "0"); // "0000000012"
"123456".padStart(10, "0"); // "0000123456"

另一个用途是提示字符串格式。

1
2
"12".padStart(10, "YYYY-MM-DD"); // "YYYY-MM-12"
"09-12".padStart(10, "YYYY-MM-DD"); // "YYYY-09-12"

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!