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
}

在这里插入图片描述

结尾

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

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

参考

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • SNMP协议具体解释

    SNMP协议具体解释

  • 永磁同步电机矢量控制(四)——simulink仿真搭建

    永磁同步电机矢量控制(四)——simulink仿真搭建由于是初学,对于simulink很多地方不熟悉,在此记下整个仿真搭建的选择元件的细节。1电机模型的选择及参数设置永磁同步电机的英文缩写为PMSM,全称PermanentMagnetSynchronousMachine。在library内搜索Permanent即可找到它。Numberofphase电机相数Back…

  • 测试用例设计的八大要素「建议收藏」

    测试用例设计的八大要素「建议收藏」1、测试用例的八大要素用例编号和其他编号一样,测试用例编号是用来唯一识别测试用例的编号,要求具有易识别和易维护性,用户可以很容易根据用例编号获取到相应用例的目的和作用,在系统测试用例中,编号的一般格式为A-B-C-D这几部分的作用分别如下:A:产品或项目类型,如CMS(内容管理系统)、CRM(客户关系管理系统)B:一般用来说明用例的属性,如ST(系统测试)、IT(集成测试)、UT(单元测试)C:测试需求的表示,说明该用例针对的需求点,可包括测试项和测试子项等,如文档管理、客户投诉信息管理等。

  • vue 路由嵌套_vuejs直接打开第三级路由

    vue 路由嵌套_vuejs直接打开第三级路由嵌套路由有时候在路由中,主要的部分是相同的,但是下面可能是不同的。比如访问首页,里面有新闻类的/home/news,还有信息类的/home/message。这时候就需要使用到嵌套路由。项目结构如下:

  • netperf 而网络性能测量

    netperf 而网络性能测量

  • svn汉化包为什么装不上(3dm汉化补丁怎么安装)

    问题描述:我安装了svn,也下载了LanguagePack,但是svn却没有中文选项。问题分析:没有下载相对应的汉化版本包,我的svn版本是1.10,而下载的汉化包却是1.12.解决办法:下载路径:https://osdn.net/projects/tortoisesvn/storage/路径里面有比较全面的汉化包。最后成功解决:…

发表回复

您的电子邮箱地址不会被公开。

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