详解JavaScript中的padStart()和padEnd()方法


本文摘自PHP中文网,作者青灯夜游,侵删。

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

1

2

3

4

5

const string = 'hi';

 

string.padStart(3, 'c'); // "chi"

 

string.padEnd(4, 'l'); // "hill"

语法

1

2

3

string.padStart(<maxLength>, <padString>)

 

string.padEnd(<maxLength>, <padString>)

了解参数

padEndpadStart接受相同的参数。

1. maxLength

最终字符串的长度。

1

2

3

const result = string.padStart(5);

 

result.length; // 5

当我看到这个时,也花了我一段时间来学习。 我一直以为maxLength是重复填充字符串参数的次数。 所以这里只想强调一下此参数是当前字符串需要填充到的目标长度,不是填充字符串重复的次数。如果这个数值小于当前字符串的长度,则返回当前字符串本身。

当然,我相信读者比我聪明多了,所以我确定你没有这种困惑 ??

2. padString

padString 表示填充字符串。如果字符串太长,使填充后的字符串长度超过了目标长度,则只保留最左侧的部分,其他部分会被截断。此参数的默认值是一个空格 " "(U+0020。

1

2

3

4

'hi'.padStart(5);

 

// 等价于

'hi'.padStart(5, ' ');

如果你传入的是一个空字符串,那么什么都不会填充。

1

2

3

4

const result = 'hi'.padStart(5, '');

 

result; // "hi"

result.length; // 2

如何处理其他数据类型

对于第二个参数padString,它接受一个string。如果我们试图给它传入其他数据类型。它会调用 toString方法强制转成一个字符串。我们来看看在不同的值类型上使用toString会发生什么。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

// Number

(100).toString(); // '100'

 

// Boolean

true.toString();   // 'true'

false.toString();  // 'false'

 

// Array

['A'].toString(); // 'A'

[''].toString();  // ''

 

// Object

({}).toString();         // '[object Object]'

({hi: 'hi'}).toString(); // '[object Object]'

有了这些知识,我们看看是否可以将这些其他值类型传递给padStartpadEnd具有相同的行为)。

阅读剩余部分

相关阅读 >>

javascript如何删除指定数组元素

分享javascript spread运算符的10种用法

javascript如何获取body内容

javascript如何添加删除元素

如何在js中改变dom元素的文本内容

html中如何使用javascript

浅谈前端的正则表达式

javascript中array什么意思

如何理解javascript的对象

javascript数字怎么转换为字符串

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...