繁体   English   中英

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

[英]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--;
}

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

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM