Last updated on Sep 5, 2020 by Suraj Sharma
ES6 already has a built-in method String.repeat()
to repeat a string for N number of times. It is not supported in older browsers.
In this article, you are going to learn four ways to repeat a string in JavaScript.
So, let’s get started.
String.repeat()
method was introduced in ES6 and all the modern browsers support it,
repeat(count)
accepts an argument 'count', which should be greater than or equal to zero and less than +Infinity.
console.log('Hello '.repeat(4)); // 'Hello Hello Hello Hello '
console.log('Hello '.repeat(-1)); // error: Uncaught RangeError: Invalid count value
console.log('Hello '.repeat(0)); // ''
We are going to create a recursive function to repeat a string N number of times.
function repeatString(string, times) {
if (times < 0)
throw new RangeError('Number must be greater equal than zero');
if (times === 0)
return '';
if (times === 1)
return string;
return string+repeatString(string, times-1);
}
console.log(repeatString('Hello ', 2)) // 'Hello Hello '
console.log(repeatString('Hello ', 0)) // ''
console.log(repeatString('Hello ', -1)) // error: Uncaught RangeError: Number must be greater than or equal to zero
This approach is about creating an empty array of length N+1 and then joining the array elements with the string to be repeated.
function repeatString(string, times) {
return new Array(times+1).join(string);
}
console.log(repeatString('Hello ', 4)); // 'Hello Hello Hello Hello '
This solution requires you to loop for N times and concat the string on each iteration.
function repeatString(string, times) {
let str = times ? string : '';
for (let i=1; i<times;i++) {
str += string
}
return str;
}
console.log(repeatString('Hello ', 0)) // ''
console.log(repeatString('Hello ', 3)) // 'Hello Hello Hello '
Related Solutions
Rate this post
Suraj Sharma is the founder of Future Gen AI Services. He holds a B.Tech degree in Computer Science & Engineering from NIT Rourkela.