--- id: afcc8d540bea9ea2669306b6 title: Repeat a String Repeat a String isRequired: true challengeType: 5 --- ## 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) === "***", "repeatStringNumTimes("*", 3) should return "***".");' - text: 'repeatStringNumTimes("abc", 3) should return "abcabcabc".' testString: 'assert(repeatStringNumTimes("abc", 3) === "abcabcabc", "repeatStringNumTimes("abc", 3) should return "abcabcabc".");' - text: 'repeatStringNumTimes("abc", 4) should return "abcabcabcabc".' testString: 'assert(repeatStringNumTimes("abc", 4) === "abcabcabcabc", "repeatStringNumTimes("abc", 4) should return "abcabcabcabc".");' - text: 'repeatStringNumTimes("abc", 1) should return "abc".' testString: 'assert(repeatStringNumTimes("abc", 1) === "abc", "repeatStringNumTimes("abc", 1) should return "abc".");' - text: 'repeatStringNumTimes("*", 8) should return "********".' testString: 'assert(repeatStringNumTimes("*", 8) === "********", "repeatStringNumTimes("*", 8) should return "********".");' - text: 'repeatStringNumTimes("abc", -2) should return "".' testString: 'assert(repeatStringNumTimes("abc", -2) === "", "repeatStringNumTimes("abc", -2) should return "".");' - text: The built-in repeat()-method should not be used testString: 'assert(!/\.repeat/g.test(code), "The built-in repeat()-method should not be used");' ```
## Challenge Seed
```js function repeatStringNumTimes(str, num) { // repeat after me return str; } repeatStringNumTimes("abc", 3); ```
## Solution
```js function repeatStringNumTimes(str, num) { if (num < 0) return "; return num === 1 ? str : str + repeatStringNumTimes(str, num-1); } repeatStringNumTimes("abc", 3); ```