В JavaScript, как бы я создал строку повторяющихся строк х число раз:
var s = new String(" ",3);
//s would now be " "
Ответ 1
Нет такой функции, но эй, вы можете ее создать:
String.prototype.repeat = function(times) {
return (new Array(times + 1)).join(this);
};
Использование:
var s = " ".repeat(3);
Конечно, вы можете написать это как часть автономной группы функций:
var StringUtilities = {
repeat: function(str, times) {
return (new Array(times + 1)).join(str);
}
//other related string functions...
};
Использование:
var s = StringUtilities.repeat(" ", 3);
Ответ 2
Вы также можете использовать Array.join:
function repeat(str, times) {
return new Array(times + 1).join(str);
}
> repeat(' ', 3)
" "
Ответ 3
Здесь аккуратный способ, который не содержит циклов. В дополнение к краткости, я уверен, что использование соединения намного более эффективно для очень больших строк.
function repeat(str, num) {
return (new Array(num+1)).join(str);
}
Вы также можете поместить этот код в прототип String, но я считаю, что это плохая идея, связанная с прототипом встроенных типов.
Ответ 4
Я думаю, что ваш лучший и единственный способ добиться этого - перебрать свою строку. Насколько я знаю, такой функции нет на любых языках.
function multiString(text, count){
var ret = "";
for(var i = 0; i < count; i++){
ret += text;
}
return ret;
}
var myString = multiString(" ", 3);