Reputation: 14345
I'm interested in getting an array of identical (though distinct or cloned) DOM elements so I can use them like this:
parentElement.append(...arrayOfRepeatingElements);
The best I've come up with is:
[0,0,0].map(() => document.createElement('br'))
Or for larger numbers:
new Array(100).fill(0).map(() => document.createElement('br'))
Or slightly shorter:
[...'0'.repeat(100)].map(() => document.createElement('br'))
Is there an even cleaner/more semantic yet DRY and inlinable-as-an-expression way of doing this?
Upvotes: 0
Views: 56
Reputation: 22524
You can use array#from
var parentElement = document.getElementById('parentElement');
var elements = Array.from({length: 100}, _=> document.createElement('br'));
parentElement.append(...elements);
<div id='parentElement'></div>
Upvotes: 2