How to Repeat a JSX Element "N" Number of Times


Suppose I’m working in React and need to repeat an element n times using JSX.

Let’s say I want to create multiple of these span elements.

<span>dog</span>
<span>dog</span>
<span>dog</span>

But what if the number of elements depends on some variable n?

We know we can map through arrays inside JSX.

[1, 2, 3].map((elem, index) => <span key={index}>dog</span>);

So, we could just create an array of size n and map through that.

const n = 5;
[...Array(n)].map((elem, index) => <span key={index}>dog</span>);

Unfortunately, we can’t simply use Array(n).

Array(n).map((elem, index) => <span key={index}>dog</span>);

Array(n) will create an empty array of length n, while [...Array(n)] will create an array of length n filled with undefined. Therefore, we cannot iterate through Array(n).