有没有更好的方法可以在字符串中添加x量的空白区域?
str = "blah";
x = 4;
for (var i = 0; i < x; i++){
str = ' ' + str;
}
return str;
答案 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)
您可以使用 padStart
和 padEnd
方法。
例如:
const str1 = 'Hello';
const str2 = 'World';
const str3 = str1.padEnd(2,' ')+str2.padStart(1,' ');
console.log(str3);