javascript - 在字符串左侧添加空格

时间:2014-09-14 00:10:47

标签: javascript string

有没有更好的方法可以在字符串中添加x量的空白区域?

str = "blah";
x = 4;

for (var i = 0; i < x; i++){
  str = ' ' + str;
}

return str;

5 个答案:

答案 0 :(得分:28)

可以这样做,防止循环。

str = str + new Array(x + 1).join(' ')

答案 1 :(得分:12)

在ES6中,您可以执行以下操作:

str = ' '.repeat(x) + str;

目前(2014年末),它仅适用于Chrome和Firefox。但在两年内它应得到广泛支持。

有关详细信息,请参阅文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat

答案 2 :(得分:1)

或者使用lodash _.padStart。如果字符串短于长度,则在左侧填充字符串。

const str = 'blah',
  len = str.length,
  space = 4;
console.log(_.padStart(str, len + space));
// => '    blah'
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>

或纯JavaScript

const str = 'blah',
  len = str.length,
  space = 4;
console.log(str.padStart(len + space, ' '));

答案 3 :(得分:0)

例如,您可以对字符串的左侧或右侧使用repeat来重复:

var j = 6;
for (i = 0; i < n; i++) {
    console.log(" ".repeat(j-1)+"#".repeat(i+1))
    j--;
}

答案 4 :(得分:0)

您可以使用 padStartpadEnd 方法。 例如:

const str1 = 'Hello';
const str2 = 'World';
const str3 = str1.padEnd(2,' ')+str2.padStart(1,' ');
console.log(str3);