This algorithms is very simple, we take a variable and return that variable being repeated certain amount of times. I usually do this example with my students at the very beginning to teach them these simple concepts:

• for loops
• string concatenation
• convert an array into a string
• recursion

Before we jump straight into the implementation, you should keep in mind that strings are immutable. You can’t edit strings, you will need to create a variable to store the new string.

#### String concatenation

```const repeatStringNumTimes = (str, num) => {
let result = '';
for (let i = 0; i < num; i++) {
result += str;
}
return result;
}```

#### Convert an array into a string

```const repeatStringNumTimes = (str, num) => {
let result = [];
for (let i = 0; i < num; i++) {
result.push(str);
}
return result.join('');
}

repeatStringNumTimes("abc", 3);```

#### Recursion

```const repeatStringNumTimes = (str, num) => {
if (num <= 0) {
return '';
}
return repeatStringNumTimes(str, num - 1) + str;
}```

#### Recursion & ternary operator

```const repeatStringNumTimes = (str, num) => num <= 0 ? '' : repeatStringNumTimes(str, num - 1) + str;
```