JS新规范padStart()详解,自己实现一个简单的padStart()

JS新规范padStart()详解,自己实现一个简单的padStart()ES2017引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

padStart()

标准内置对象:String.Prototype.padStart()

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

下面主要写padStart()。

介绍

padStart() 方法用另一个字符串填充当前字符串(重复,如果需要的话),以便产生的字符串达到给定的长度。填充从当前字符串的开始(左侧)应用的。

语法

str.padStart(targetLength [, padString])

参数

targetLength

当前字符串需要填充到的目标长度。如果这个数值小于当前字符串的长度,则返回当前字符串本身。

padString 可选

填充字符串。如果字符串太长,使填充后的字符串长度超过了目标长度,则只保留最左侧的部分,其他部分会被截断。此参数的缺省值为 ” “(U+0020)。

返回值

在原字符串开头填充指定的填充字符串直到目标长度所形成的新字符串。

用法

用法1

第二个参数(填充字符转)缺省
默认给原字符串开头填充“ ”,也就是默认填充空格
在这里插入图片描述

使用2

目标长度小于原字符串长度
在这里插入图片描述

使用3

字符串太长,使填充后的字符串长度超过了目标长度,则只保留最左侧的部分,其他部分会被截断。
在这里插入图片描述

使用4 正常使用

在这里插入图片描述

性能优化方案

问题简介

自己实现一个padStart(),实现给字符串‘hello’前补0,考虑性能。

测试方式:跑1w次,字符串拼接到长度1w。

Mr Zhou的实现

String.prototype.zpadStart = function (targetLength, padString) { 
   
    let string = this
    while (string.length < targetLength) { 
   
        string = padString + string
    }
    return string
}

在这里插入图片描述

结尾

我是圆圆,如果我的文章对你的学习成长有所帮助,欢迎 点 赞 ? 支持,您的 点 赞 ? 支持是我进行创作和分享的动力!

如果有问题可以留言评论或者私信我,我都会一一解答~笔芯?

参考

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195514.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • navicat15激活码linux_在线激活

    (navicat15激活码linux)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS32PGH0SQB-eyJsaWN…

    2022年3月26日
    64
  • Fcoin交易所的危险游戏!韭菜请远离!

    币圈一天,人间一年!Fcoin再一次用币圈速度验证了上面这句话并非虚言。Fcoin上线半个月,平台交易量即雄霸全球数字货币榜首,远超币安、OKEx、火币等老牌交易所,成为宇宙第一数字货币交易所。与Fcoin交易量蹿升速度相当的,还有Fcoin的平台币FT,一个月上涨百倍!成为币圈人士口中争相传播的百倍币。一、并不新鲜的Fcoin“交易挖矿”Fcoin能在短时间崛起,主要依靠的是“交易挖矿”模…

    2022年4月16日
    40
  • jedis和jediscluster_rediscluster集群

    jedis和jediscluster_rediscluster集群1、Jedis客户端https://redis.io/clients2、Jedis源码包与使用介绍https://github.com/xetorthio/jedis3、项目中使用通过maven引入Jedis的依赖包<dependency><groupId>redis.clients</groupId><art…

    2022年10月14日
    2
  • 安卓手机4g网络慢如何设置(手机连接4g却不能上网)

    5G时代即将来临为啥,我还要写这篇文章呢?5G想要普及还要再等多一段时间,目前4G还是我们使用网络的主流,所以我今天我来关爱一下我们的4G网络。先来了解一下4G的标准网速,按照4G技术标准,静态、行人的网络速率125MB/s(1Gbps)、高速移动状态下125KB/s才算得上4G。然后对照一下自己的手机网速,你会发现在我们日常生活中我们的网速往往达不到这个所谓标准,是不是说4G就骗我们…

    2022年4月15日
    206
  • CT调整窗宽窗位「建议收藏」

    CT调整窗宽窗位「建议收藏」常见人体组织的CT值(HU)组织CT值组织CT值骨组织>400肝脏50~70 钙值80~300脾脏35~60 血块64~84胰腺30~55 脑白质25~34…

    2022年6月29日
    55
  • laravel通过创建自定义artisan make命令来新建类文件详解「建议收藏」

    laravel通过创建自定义artisan make命令来新建类文件详解「建议收藏」laravel通过创建自定义artisan make命令来新建类文件详解

    2022年4月24日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号