In Perl I can repeat a character multiple times using the syntax:
$a = "a" x 10; // results in "aaaaaaaaaa"
Is there a simple way to accomplish this in Javascript? I can obviously use a function, but I was wondering if there was any built in approach, or some other clever technique.
Although the most voted answer is a bit more compact, with this approach you don't have to add an extra array item.
Can be used as a one-liner too:
These days, the
repeat
string method is implemented almost everywhere. (It is not in Internet Explorer.) So unless you need to support older browsers, you can simply write:Before
repeat
, we used this hack:(Note that an array of length 11 gets you only 10 "a"s, since
Array.join
puts the argument between the array elements.)Simon also points out that according to this jsperf, it appears that it's faster in Safari and Chrome (but not Firefox) to repeat a character multiple times by simply appending using a for loop (although a bit less concise).
In a new ES6 harmony, you will have native way for doing this with repeat. Also ES6 right now only experimental, this feature is already available in Edge, FF, Chrome and Safari
And surely if repeat function is not available you can use old-good
Array(n + 1).join("abc")
An alternative is:
If you need to repeat multiple chars, multiply your conditional:
NOTE: You do not have to overshoot by 1 as with
word = Array(11).join('a')