repeat a string
n times
[ recursion ]

Repeat a string n times

Write a function that returns a new string that consists of the original string repeated n times. The original string remains unchanged.


Example ...

Enter a string and a number ...

"All work and no play!" → string

3 → n number of times to repeat string

The function returns ...

"All work and no play!All work and no play!All work and no play!" → string repeated 3 times

The original string is repeated n times.

The original string is unchanged.

Strings are a sequence of zero or more characters written inside quotes used to represent text.

Strings may consist of letters, numbers, symbols, words, or sentences.

Strings are immutable, they cannot be changed.

Each character in a string has an index.

The first character will be index 0 the second character will be index 1 and so on.

There are two ways to access an individual character in a string.

charAt() method

const str1 = "abc"; string

str1.charAt(0); character at index 0 → "a"

str1.charAt(1); character at index 1 → "b"

str1.charAt(2); character at index 2 → "c"

str1.charAt(3); character at index 3 → "" index not found

Alternatively use at() or slice() methods

bracket notation []

const str2 = "abc"; string

str2[0]; character at index 0 → "a"

str2[1]; character at index 1 → "b"

str2[2]; character at index 2 → "c"

str2[3]; character at index 3 → undefined index not found


Numbers are used to represent both integer and floating-point values.

Numbers are most commonly expressed in literal forms like 255 or 3.14159 ↴

let num1 = 5; → number

let num2 = 2.5; → number

let num3 = num1 + num2;

console.log(num3); returns ↴

7.5 → number


Repeat a string using recursion


Recursion The act of a function calling itself.

Recursion is used to solve problems that contain smaller sub-problems.

A recursive function can receive two inputs: a base case (ends recursion) or a recursive case (resumes recursion).

Use recursion to find the factorial of 5.

let x = 5;

function factorial(num) {

if (num > 1) { Recursive call

return num * factorial(num - 1);

}

else { Base case

return 1;

};

}

call function

factorial(x); returns ↴

120 factorial of 5 → 120


Initialize a variable to hold the string to repeat.

const string1 = "All work and no play!" → user input

Initialize a variable to hold the number of times to repeat the string.

const number1 = 3 → user input


Define a function repeatString() to repeat a string n times.

function repeatString(str, num) {}

The function takes a string str and a number num and returns a new string that consists of the original string repeated num times. The original string is unchanged.

Base case

If the number is less than 0 return an empty string and end execution of function.

if (num < 0) return ""

Base case

If the number is 1 return the string itself and end execution of function.

if (num === 1) return str

Recursive case

else if the number is greater than 2 concatenate the string with the result of the function called with num - 1

else return str + repeatString(str, num - 1)


Call the function with ↴

repeatString(string1, number1);


Repeat a string 3 times

const string1 = "All work and no play!";

const number1 = 3;

function repeatString(str, num) {

if (num < 0) return "";

if (num === 1) return str;

else return str + repeatString(str, num - 1);

}

call function

repeatString(string1, number1); returns ↴

"All work and no play!All work and no play!All work and no play!"

Repeat a string n times

Enter number of times to repeat