ES6中的4个字符串方法

举报
搞前端的半夏 发表于 2022/01/24 22:41:07 2022/01/24
1.6k+ 0 0
【摘要】 ES6中的String类型提供了四种非常方便的新方法,帮助我们编写更具可读性的代码。 .startsWith() 和 .endsWith()例如我们有一个字符串,const name = '搞前端的半夏';我们想判断这个字符串是不是以搞前端开头name.startsWith('搞前端')这里我们用的是中文,但是有些时候我们的数据可能是英文。const name = 'frontendpick...

ES6中的String类型提供了四种非常方便的新方法,帮助我们编写更具可读性的代码。

.startsWith() 和 .endsWith()

例如我们有一个字符串,

const name = '搞前端的半夏';

我们想判断这个字符串是不是以搞前端开头

name.startsWith('搞前端')

image-20220124214627964

这里我们用的是中文,但是有些时候我们的数据可能是英文。

const name = 'frontendpicker-半夏';

想判断是不是以front开头的:

name.startsWith('front')

image-20220124214935092

我们来试试大写字母,我们可以发现startwith可以区分大小写字母。

name.startsWith('Front')

image-20220124215150786

除了这种最简单的用法,startwith还支持跳过一定数量的字符来进行判断。

例如:

const name = 'frontendpicker-半夏';
name.startsWith('ont',2)

这里startsWith直接跳过了两个字符。

image-20220124215551413

在日常的生活中,我们也经常回用到末尾是不是某些字符的场景,例如身份证真的最后一位。

下面我们有一个字符串

const name = '123456半夏001';

我们想判断最后三位是不是001,当然我们仍然可以使用startsWith,但是这种还需要知道字符串的长度,比较麻烦。

直接使用endsWith。

name.endsWith('001')

image-20220124221035300

如果我们想判断是不是用 '半夏’结尾,正如startsWith可以跳过指定数量的字符。endsWith可以指定前N个字符作为检查的对象。

name.endsWith('半夏',8)

我们可以指定前8个字符作为检查的对象,会忽略后面的字符!

image-20220124221633486

.include()

.include() 主要是用来检查包不包含指定的字符串!

const name = '123456半夏001';

image-20220124221838309

.repeat()

repeat会重复当前字符串指定次数。

例如,我们将123重复10次。

'123'.repeat(10)

image-20220124222313480

这个repeat的使用场景可能会稍微少一些,但是在一些奇怪的需求下也可以用的到。

例如:想在终端输出三个长度不一致的字符串,并且要求右对齐,我们需要怎么做!

image-20220124222829695

首先我们要确认这个重复的字符串是空格,但是每个重复的次数都不一致,我们要怎么做呢。

leftPad = function(str, length ){
    return `${' '.repeat(Math.max(length - str.length,0))}${str}`;
}
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。