--- id: afcc8d540bea9ea2669306b6 title: Repeat a String Repeat a String isRequired: true challengeType: 5 forumTopicId: 16041 --- ## Description
Repeat a given string str (first argument) for num times (second argument). Return an empty string if num is not a positive number. Remember to use Read-Search-Ask if you get stuck. Write your own code.
## Instructions
## Tests
```yml tests: - text: repeatStringNumTimes("*", 3) should return "***". testString: assert(repeatStringNumTimes("*", 3) === "***"); - text: repeatStringNumTimes("abc", 3) should return "abcabcabc". testString: assert(repeatStringNumTimes("abc", 3) === "abcabcabc"); - text: repeatStringNumTimes("abc", 4) should return "abcabcabcabc". testString: assert(repeatStringNumTimes("abc", 4) === "abcabcabcabc"); - text: repeatStringNumTimes("abc", 1) should return "abc". testString: assert(repeatStringNumTimes("abc", 1) === "abc"); - text: repeatStringNumTimes("*", 8) should return "********". testString: assert(repeatStringNumTimes("*", 8) === "********"); - text: repeatStringNumTimes("abc", -2) should return "". testString: assert(repeatStringNumTimes("abc", -2) === ""); - text: The built-in repeat() method should not be used. testString: assert(!/\.repeat/g.test(code)); - text: repeatStringNumTimes("abc", 0) should return "". testString: assert(repeatStringNumTimes("abc", 0) === ""); ```
## Challenge Seed
```js function repeatStringNumTimes(str, num) { // repeat after me return str; } repeatStringNumTimes("abc", 3); ```
## Solution
```js function repeatStringNumTimes(str, num) { if (num < 1) return ''; return num === 1 ? str : str + repeatStringNumTimes(str, num-1); } repeatStringNumTimes("abc", 3); ```