今天在赶需求的时候,去看了下同事的代码,发现同事用了个padStart()方法,咦,怎么没见过的样子?有点牛逼,这个究竟是何方神圣?
原来是ES6引入的新功能,字符串补全长度,如果我们写的某个字符串不够指定的长度,若需要在头部和尾部进行补全的,就需要用到他们了,padStart()方法
用在头部
,padEnd()方法
用在尾部
。
padStart()方法
语法:
'start'.padStart(7,12) //12start
参数:
可接收两个参数
第一个参数是限制的长度
第二个参数是如果没有达到该长度,就给他补全的值
注意:
1.当原本的长度没有达到限制的长度时,则根据第二个参数给它进行补全
2.当第二个参数的字符串补全后,超过原本的限制长度时,则会进行切断,并将最左侧的部分进行应用
3.当没有达到限制长度,但是却没有第二个参数的时候,则会用空格进行替代
【在下面举个栗子】
'start'.padStart(7,12) //12start
'start'.padStart(9,123456789) //1234start
'start'.padStart(9) // ‘ start’
and(参考别的博主知道的,孤陋寡闻本人)
1.第二个参数可以传入任意类型的值
2.如果传入的参数和原有的参数加起来没有第一个参数的length大,那么空缺的位置将会用第二个参数来补全
3.如果传入的参数是【】,那么将会原样输出
4.如果传入的参数是{},那么刘安琪会将{}解析成【object Object】来输出
'abc'.padStart(8, false); //"falseabc"
'abc'.padStart(8, null); //"nullnabc"
'abc'.padStart(8, []); //"abc"
'abc'.padStart(8, {}); //"[objeabc"
'abc'.padStart(15, false); //"falsefalsefaabc
padEnd()方法
会在尾部对字符串进行补全,和padStart()大同小异
!!!!
str.padStart(targetLength [, padString]),常用于时间补0
时间补零,这个方法真的超级适合,而且也方便。
大家可以自己造造数据,造24点的数据
Array(24).fill('').map((item,index)=>`${String(index).padStart(2,0)}:00`)
从同事那里学的方法,觉得炒鸡好用,记录下来~
哦豁,忘了告诉大家,这是es6新特性,所以你懂的!
IE不兼容,不兼容,不兼容~
找出解决方法,请callme .