Метод repeat в JavaScript — альтернатива циклу при работе со строками - Smart-Frontend

Метод repeat в JavaScript — альтернатива циклу при работе со строками

Метод repeat в JavaScript


Мы рассмотрим в этой статье три основных способа повторения строки (string). Наиболее удобным на сегодняшний день является метод repeat в JavaScript.

Алгоритм задачи

Для начала построим алгоритм задачи. Нам необходимо повторить заданную строку (первый аргумент) несколько раз (второй аргумент). Результатом должно быть получение пустой строки, если второй аргумент (число) не является положительным.

function repeatString(str, count) {
    return str;
}
repeatString('Строка', 3);

Использование цикла вместо repeat в JavaScript

Цикл while

Первый способ — повторение строки с помощью цикла while. Его итерации будут продолжаться до тех пор, пока заданное условие истинно.

function repeatString(str, count) {
let repeatedString = '';
        while (count> 0) {
          repeatedString += str;
          count--;
        }
        return repeatedString;
}
 console.log(repeatString('Строка', 3));

Цикл for…

В этом случае принцип остается аналогичным.

function repeatString(str, count) {
        let repeatedString = '';
        for (i = 0; i < count; i++) {
            repeatedString += str;
        }
         return repeatedString;
}
console.log(repeatString('Строка', 3));

Использование условия и рекурсии

Рекурсия — это метод повторения операции путем многократного вызова самой функции до тех пор, пока не будет достигнут результат. Есть несколько ключевых функций рекурсии, которые необходимо учитывать, чтобы она работала должным образом.

Первый — базовый вариант. Обычно в этом случае используется условный оператор, например if, который останавливает рекурсию.

Второй — способ, при котором рекурсивная функция вызывается сама по себе.

function repeatString(str, count) {
    if(count < 0) 
        return '';
    if(count === 1) 
        return str;
    else 
        return str + repeatString(str, count - 1);
}
console.log(repeatString('Строка', 3));

Метод repeat в JavaScript

Этот способ предусматривает использование метода стандарта ES6 String.prototype.repeat():

Он создает и возвращает новую строку, которая содержит указанное количество копий начальной строки, объединенных вместе.

function repeatString(str, count) {
    if(count> 0)
        return str.repeat(count);
    else
        return '';
}
console.log(repeatString('Строка', 3));

Упростим код с помощью тернарного оператора.

function repeatString(str, count) {
    return count > 0 ? str.repeat(count) : '';
}
console.log(repeatString('Строка', 3));

Кроссбраузерность

Поддержка основными браузерами метода repeat(), за исключением IE, позволяет свободно использовать его.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *