Подтвердить что ты не робот

Как я могу повторить строки в JavaScript?

В JavaScript, как бы я создал строку повторяющихся строк х число раз:

var s = new String(" ",3);

//s would now be "   "
4b9b3361

Ответ 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("&nbsp;", 3);

Но я думаю, вы могли бы понять это.

Ответ 5

Разве вы не пробовали с петлей

for (var i = 0; i < 3; i++) {
     s += "&nbsp;"; }

?