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

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

13.06.2021
124
3 мин.
0

Мы рассмотрим в этой статье три основных способа повторения строки. Наиболее удобным на сегодняшний день является метод repeat в JavaScript. Согласно стандарта ES6 он позволяет упростить задачи по повторению строк. Он безусловно предоставляет ряд преимуществ по сравнению с использованием циклов или рекурсии.

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

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

const str = 'Строка, ';
console.log(str.repeat(5));

Использование циклов

Цикл while вместо метода repeat в JavaScript

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

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

Как заменить метод repeat в JavaScript на цикл 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 может заменить цикл при работе со строками
В работе со строками в JavaScript лучше использовать метод repeat (изображение создано с помощью ИИ)

Читайте также: Как клонировать объект или массив в JavaScript.

Метод 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() поддерживается всеми основными браузерами, за исключением Internet Explorer, что позволяет свободно использовать его.