[英]javascript - adding white space to left of string
有没有更好的方法向字符串添加 x 数量的空白?
str = "blah";
x = 4;
for (var i = 0; i < x; i++){
str = ' ' + str;
}
return str;
可以这样做,防止循环。
str = str + new Array(x + 1).join(' ')
在 ES6 中,您可以执行以下操作:
str = ' '.repeat(x) + str;
目前(2014 年末)它仅在 Chrome 和 Firefox 中可用。 但在两年内应该得到广泛支持。
有关更多信息,请参阅文档: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat
或者使用 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, ' '));
例如,您可以对字符串左侧或右侧的空白使用重复:
var j = 6;
for (i = 0; i < n; i++) {
console.log(" ".repeat(j-1)+"#".repeat(i+1))
j--;
}
您可以使用padStart
和padEnd
方法。 例如:
const str1 = 'Hello';
const str2 = 'World';
const str3 = str1.padEnd(2,' ')+str2.padStart(1,' ');
console.log(str3);
var message = 'stack' + Array(6).fill('\xa0').join('') + 'overflow'
console.log(message);
var message = 'stack' + Array(6).fill('\\xa0').join('') + 'overflow' console.log(message);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.