.forEach vs for..of vs for..of (destructuring) vs .map vs .map (destructuring) vs .for (init array) vs .reduce vs .reduce (destructuring) vs for..of (reduce) vs for..of (reduce) (destructuring)Fastest: .for (init array) (1.6x faster)
34 ops/sec
31 ops/sec
31 ops/sec
30 ops/sec
30 ops/sec
30 ops/sec
22 ops/sec
21 ops/sec
21 ops/sec
21 ops/sec
Fastest: .forEach (1.2x faster)
38 ops/sec
37 ops/sec
37 ops/sec
37 ops/sec
36 ops/sec
35 ops/sec
34 ops/sec
32 ops/sec
32 ops/sec
32 ops/sec
Fastest: for..of (1.2x faster)
110 ops/sec
108 ops/sec
104 ops/sec
103 ops/sec
103 ops/sec
102 ops/sec
102 ops/sec
98 ops/sec
96 ops/sec
92 ops/sec
Fastest: for..of (reduce) (2.8x faster)
30 ops/sec
29 ops/sec
29 ops/sec
28 ops/sec
27 ops/sec
22 ops/sec
18 ops/sec
17 ops/sec
16 ops/sec
11 ops/sec
Fastest: for..of (reduce) (destructuring) (2.3x faster)
14 ops/sec
14 ops/sec
13 ops/sec
13 ops/sec
12 ops/sec
12 ops/sec
8 ops/sec
8 ops/sec
6 ops/sec
6 ops/sec
Fastest: for..of (1.4x faster)
42 ops/sec
36 ops/sec
36 ops/sec
34 ops/sec
33 ops/sec
32 ops/sec
32 ops/sec
31 ops/sec
31 ops/sec
30 ops/sec
Results show median performance across all community submissions. Run this benchmark yourself to verify on your device.
| Test case name | Result |
|---|---|
| .forEach | |
| for..of | |
| for..of (destructuring) | |
| .map | |
| .map (destructuring) | |
| .for (init array) | |
| .reduce | |
| .reduce (destructuring) | |
| for..of (reduce) | |
| for..of (reduce) (destructuring) |
| Test name | Executions per second |
|---|---|
| ✓ .forEach | 6 Ops/sec |
| for..of | 5 Ops/sec |
| for..of (destructuring) | 5 Ops/sec |
| .reduce | 5 Ops/sec |
| .for (init array) | 5 Ops/sec |
| for..of (reduce) | 5 Ops/sec |
| for..of (reduce) (destructuring) | 5 Ops/sec |
| .reduce (destructuring) | 5 Ops/sec |
| .map (destructuring) | 4 Ops/sec |
| .map | 4 Ops/sec |