如何在 ECMAScript 2017 中使用 String.padStart() 方法

阅读时长 4 分钟读完

在现代的 JavaScript 开发中,字符填充是一项经常出现的需求。一个非常常见的场景就是让字符串与某个固定长度对齐,这时我们就需要用到 String.padStart() 方法来实现。

方法介绍

padStart() 方法接收两个参数:第一个为目标字符串长度,第二个为用来填充的字符串。如果被操作字符串本身已经达到或超过指定长度,则不会进行任何操作。

方法示例:

上面代码将 'hello' 填充至长度为 10 的字符串,用 '-' 进行填充。

字符填充应用场景

字符串填充通常用于输出对齐场景,比如:

  • 表格输出时,每列的宽度需要一致;
  • 日志输出时,需要将时间和日志内容分开输出,且时间部分需要左对齐;
  • 数字前补零;
  • ...

padStart() 方法详解

填充字符串需要注意的问题

当用空格 ' ' 或者其他单字符进行填充时,通常会忽略掉中英文字符长度不同的问题,导致对齐出现问题(如下图所示)。

在这种情况下,我们需要用到 JavaScript 内置的 String.prototype.padStart() 方法进行字符填充。该方法会将目标字符串左侧填充至指定长度,填充时,以给定字符串重复拼接直到达到长度要求。

实现步骤

  1. 确定填充的长度和填充使用的字符串。
  2. 对需要进行填充的文本使用 padStart() 方法进行填充,并传入填充的长度和填充使用的字符串。
  3. 验证填充后的文本是否已经与其他文本对齐。

例如,下面是一个应用场景常见的例子:输出固定格式的时刻(类似于日志)。

-- -------------------- ---- -------
----- --- - -
 - ----- ----------- ---------- -------- -------- --------- --
 - ----- ----------- ---------- -------- ------ ---------- --
 - ----- ----------- ---------- -------- --------- ----- -
-

------------------- --------- -- -
 --------------------------------- - ------------
--

上述代码会输出类似这样的结果:

总结

ECMAScript 2017 的 String.padStart() 方法为 JavaScript 开发者提供了一种轻松、高效地填充字符串的方式。通过掌握该方法的使用,我们可以极大地提升字符处理的效率和代码质量,让我们的应用更加规范化,易于维护。

示例代码

-- -------------------- ---- -------
----- --- - -------
---------------------------- ----- -- ------------

----- --- - -
 - ----- ----------- ---------- -------- -------- --------- --
 - ----- ----------- ---------- -------- ------ ---------- --
 - ----- ----------- --------

- ------------------------------------------------------------------------------ --------
------------------------------------------------------------------------------------------------------------------------
纠错
反馈