ES6中的4个字符串方法

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第6天,点击查看活动详情。 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}`;
}
复制代码

猜你喜欢

转载自juejin.im/post/7083859293585276935