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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • nginx重启报找不到nginx.pid的解决方法

    nginx重启报找不到nginx.pid的解决方法

    2021年10月8日
    281
  • Cortex M3 NVIC与中断控制

    Cortex M3 NVIC与中断控制CortexM3 NVIC与中断控制宗旨:技术的学习是有限的,分享的精神的无限的。一、NVIC概览——嵌套中断向量表控制器    NVIC的寄存器以存储器映射的方式来访问,除了包含控制寄存器和中断处理的控制逻辑之外,NVIC还包含了MPU、SysTick定时器以及调试控制相关的寄存器。NVIC共支持1至240个外部中断输入(通常外

    2022年5月8日
    38
  • 百度搜索引擎工作原理「建议收藏」

    百度搜索引擎工作原理「建议收藏」  关于百度以及其它搜索引擎的工作原理,其实大家已经讨论过很多,但随着科技的进步、互联网业的发展,各家搜索引擎都发生着巨大的变化,并且这些变化都是飞快的。我们设计这个章节的目的,除了从官方的角度发出一些声音、纠正一些之前的误读外,还希望通过不断更新内容,与百度搜索引擎发展保持同步,给各位站长带来最新的、与百度高相关的信息。本章主要内容分为四个章节,分别为:抓取建库;检索排序;外部投票;结果展现。…

    2022年7月18日
    20
  • 2022新UI美观发卡网源码下载+功能强大且齐全

    2022新UI美观发卡网源码下载+功能强大且齐全正文:程序没有更多的介绍,总的来说就是2022最新版本的,美观功能齐全无BUG,上传程序后,运行目录public,伪静态thinkPHP,域名/install.php进行安装,就是这么简单哈,程序没有马赛克的演示图我就放压缩包了,大家自行去查看吧。程序:lanzou.com/ieWX005hj7dc图片:…

    2022年7月14日
    22
  • 零基础学Java(5)输入与输出

    零基础学Java(5)输入与输出输入与输出读取输入要想通过控制台进行输入,首先需要构造一个与"标准输入流"System.in关联的Scanner对象。//创建输入流对象Scannerin=new

    2022年8月7日
    9
  • 程序员3到5年薪资水平_程序员生活现状

    程序员3到5年薪资水平_程序员生活现状近日,程序员客栈对中国程序员薪资和生活现状做了一项调查,对全国29个省、直辖市及特别行政区的近55万优秀程序员进行了一次详细的调查。调查结果显示:22-34岁的程序员为这个群体的重要力量,工作年限为5-10年的程序员占了程序员群体的43.4%.工作三年后,程序员的跳槽次数会随着工作年限的增加而增加;73.0%的程序员在民营企业工作。年薪5-25万之间的程序员,占比高达66.3%,此外,59.2%的程序员并没有感受到因为疫情所带来的裁员大潮。程序员平均年薪从上图我们可

    2022年9月1日
    14

发表回复

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

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