使用#个字符生成字符串

And*_*ndy 2 javascript string

有没有使用循环生成由250个下划线组成的字符串的方法?我想避免编写这样的代码:

var myString= '';
for (var i=0; i < 250; i++) {
    myString += '_';
}
Run Code Online (Sandbox Code Playgroud)

Gre*_*reg 8

没有内置的解决方案,但问题重复字符串 - Javascript有一个很好的解决方案:

如果您不想更改String原型,您可以这样做:

var num = 250;
var myChar = '_';
var myString = new Array(num + 1).join(myChar);
Run Code Online (Sandbox Code Playgroud)

这将创建一个由251个未定义的数组,然后由您的角色加入它们.由于undefined在转换为字符串时为''(空字符串).join(),因此它为您提供了您所追求的字符串.

  • 实际上,`undefined`转换为字符串是"未定义"`而不是空字符串; arry的`undefined`和`null`条目将被转换为``"`特别是`join()` (2认同)