DEV Community

Discussion on: JavaScript One-Liners That Make Me Excited

Collapse
 
michi profile image
Michael Z

I've got another good one to create arrays of a specific size and map over it at the same time.

Array.from({length: 3}, (val, i) => i)
// [0, 1, 2]
Enter fullscreen mode Exit fullscreen mode
Collapse
 
qm3ster profile image
Mihail Malo

Oh SHID.
This is exactly what I needed so many times, and it finally seems like it's a performant approach?!

Collapse
 
brian profile image
Brian • Edited

It looks quite clean and sleek, so I decided to test out the performance on my pc

Weirdly using Array(N) is about 20% faster than using an array-like {length: N} when used inside Array.from()

I also added comparisons of mapping as a parameter vs (dot)map too.

Thread Thread
 
qm3ster profile image
Mihail Malo

Wow, that's... humbling.
BTW, you could beat out ForLoop with:

const arr = new Array(100)
for (let i = 0, i < 100, i++)
  arr[i] = i

since the size is known in advance.

Collapse
 
dhe profile image
d-h-e
[...Array(3).keys()]
// [0, 1, 2]
Enter fullscreen mode Exit fullscreen mode