在JavaScript中,如何创建重复字符串的字符串x次:
var s = new String(" ",3);
//s would now be " "
Run Code Online (Sandbox Code Playgroud)
Jac*_*kin 54
没有这样的功能,但是嘿,你可以创建它:
String.prototype.repeat = function(times) {
return (new Array(times + 1)).join(this);
};
Run Code Online (Sandbox Code Playgroud)
用法:
var s = " ".repeat(3);
Run Code Online (Sandbox Code Playgroud)
当然,您可以将其作为独立功能组的一部分来编写:
var StringUtilities = {
repeat: function(str, times) {
return (new Array(times + 1)).join(str);
}
//other related string functions...
};
Run Code Online (Sandbox Code Playgroud)
用法:
var s = StringUtilities.repeat(" ", 3);
Run Code Online (Sandbox Code Playgroud)
您还可以使用Array.join:
function repeat(str, times) {
return new Array(times + 1).join(str);
}
> repeat(' ', 3)
" "
Run Code Online (Sandbox Code Playgroud)
这是一个不涉及循环的简洁方法.除了简洁之外,我非常确定使用join对于非常大的字符串来说效率要高得多.
function repeat(str, num) {
return (new Array(num+1)).join(str);
}
Run Code Online (Sandbox Code Playgroud)
你也可以将这些代码放在String原型上,但我的心态是混淆内置类型的原型是一个坏主意.