在 ES8 中,新增了两个字符串方法:String.prototype.padStart()
和 String.prototype.padEnd()
。这两个方法分别用于在字符串的开头或结尾填充指定数量的字符,主要用于对齐字符串。
String.prototype.padStart()
String.prototype.padStart()
方法用于在字符串的开头添加指定数量的字符,直至达到指定的长度。该方法接收两个参数:填充后的字符串长度和填充的字符。
示例代码:
const str = 'hello'; const paddingLength = 10; const paddingChar = '*'; const paddedStr = str.padStart(paddingLength, paddingChar); console.log(paddedStr); // '*****hello'
在上面的代码中,'hello'
会被填充为长度为 10 的字符串,填充的字符为 '*'
,因此返回结果为 *****hello
。
如果指定的长度小于或等于字符串的长度,则不会进行填充。
示例代码:
const str = 'hello'; const paddingLength = 3; const paddingChar = '*'; const paddedStr = str.padStart(paddingLength, paddingChar); console.log(paddedStr); // 'hello'
在上面的代码中,paddingLength
的长度小于 str
的长度,因此不会进行填充操作。
String.prototype.padEnd()
String.prototype.padEnd()
方法与 String.prototype.padStart()
方法类似,用于在字符串的结尾添加指定数量的字符,直至达到指定的长度。该方法接收两个参数:填充后的字符串长度和填充的字符。
示例代码:
const str = 'hello'; const paddingLength = 10; const paddingChar = '*'; const paddedStr = str.padEnd(paddingLength, paddingChar); console.log(paddedStr); // 'hello*****'
在上面的代码中,'hello'
会被填充为长度为 10 的字符串,填充的字符为 '*'
,因此返回结果为 hello*****
。
同样地,如果指定的长度小于或等于字符串的长度,则不会进行填充。
示例代码:
const str = 'hello'; const paddingLength = 3; const paddingChar = '*'; const paddedStr = str.padEnd(paddingLength, paddingChar); console.log(paddedStr); // 'hello'
指导意义
String.prototype.padStart()
和 String.prototype.padEnd()
方法可以用于对齐字符串,例如在输出表格数据时,为了美观需对齐表格的内容。这两个方法也可以用于填充数字,例如前导零等。
需要注意的是,填充的字符是单个字符,如果填充字符的长度不为 1,则只会截取第一个字符进行填充。
结论
ES8 中新增的 String.prototype.padStart()
和 String.prototype.padEnd()
方法可以方便地对字符串进行填充操作,可以用于对齐字符串和填充数字等场景。为了代码的可读性和可维护性,建议在编写代码时考虑使用这两个方法。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6735a0410bc820c5824f8c3b