Array.apply(null, Array(n)) vs [...Array(n)] vs Array(n).fill(null) vs Array.from({ length: n }) vs Array.from({ length:n }, (item, i) => i)Fastest: Array(n).fill(null) (11.3x faster)
375,833 ops/sec
370,173 ops/sec
239,836 ops/sec
36,564 ops/sec
33,156 ops/sec
Fastest: Array.from({ length:n }, (item, i) => i) (5.8x faster)
111,016 ops/sec
89,303 ops/sec
82,083 ops/sec
55,516 ops/sec
19,124 ops/sec
Results show median performance across all community submissions. Run this benchmark yourself to verify on your device.
| Test case name | Result |
|---|---|
| Array.apply(null, Array(n)) | |
| [...Array(n)] | |
| Array(n).fill(null) | |
| Array.from({ length: n }) | |
| Array.from({ length:n }, (item, i) => i) |
| Test name | Executions per second |
|---|---|
| ✓ Array(n).fill(null) | 456,427 Ops/sec |
| [...Array(n)] | 426,168 Ops/sec |
| Array.apply(null, Array(n)) | 192,622 Ops/sec |
| Array.from({ length: n }) | 24,356 Ops/sec |
| Array.from({ length:n }, (item, i) => i) | 23,132 Ops/sec |