字符串填充-padStart 、padEnd

一、基本语法

1.padStart()

padStart(targetLength, padString):用另一个字符串填充当前字符串(如果需要会重复填充),直到达到给定的长度。填充是从当前字符串的开头开始的。最后返回一个新的字符串。
targetLength:当前 str 填充后的长度。如果该值小于或等于 str.length,则会直接返回当前 str。
padString(可选):用于填充当前 str 的字符串。如果 padString 太长,无法适应 targetLength,则会从末尾被截断。默认值为 Unicode“空格”字符(U+0020)。

2.padEnd()

padEndt(targetLength, padString):用另一个字符串填充当前字符串(如果需要会重复填充),直到达到给定的长度。填充是从当前字符串的末尾开始的。最后返回一个新的字符串。
targetLength:当前 str 填充后的长度。如果该值小于或等于 str.length,则会直接返回当前 str。
padString(可选):用于填充当前 str 的字符串。如果 padString 太长,无法适应 targetLength,则会从末尾被截断。默认值为 Unicode“空格”字符(U+0020)。

二、具体使用

1.padStart

  const str = '345'
  console.log(str.padStart(2)); // '345'
  console.log(str.padStart(4)); // ' 345'
  console.log(str.padStart(4, '12')); // '1345'
  console.log(str.padStart(5, '12')); // '12345'
  console.log(str.padStart(8, '12')); // '12121345'

2.padEnd

  const str = '345'
  console.log(str.padEnd(2)); // '345'
  console.log(str.padEnd(4)); // '345 '
  console.log(str.padEnd(4, '67')); // '3456'
  console.log(str.padEnd(5, '67')); // '34567'
  console.log(str.padEnd(8, '67'));  // '34567676'

三、使用场景

1.编号格式化

后端给我的商品编号长度并不是一致的,例如:1、11、111这种,产品要求统一格式化为:001、011、111。这时候就可以使用字符串填充来实现了。

  const list = [
    {code: '1'},
    {code: '10'},
    {code: '11'},
    {code: '111'}
  ]
  list.forEach(item => {
    item.showCode = item.code.padStart(3, '0')
  })
  console.log(list);
  /*
  [
    {'code': '1', 'showCode': '001'},
    {'code': '10', 'showCode': '010'},
    {'code': '11', 'showCode': '011'},
    {'code': '111', 'showCode': '111'}
  ]
  */

2.日期格式化

获取当前日期的时候getMonth,和getDate都可能获取到的是一位数字,例如2023-8-17,但我们习惯上格式可能是2023-08-17,这时候也能使用字符串填充

  const year = new Date().getFullYear()
  const month = (new Date().getMonth() + 1).toString().padStart(2, '0')
  const date = new Date().getDate().toString().padStart(2, '0')
  console.log(`${year}-${month}-${date}`);
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值