for...in vs Object.keys+forEach (ES5) vs for...of - keys (ES6) vs for...of - values (ES6) vs for...of - entries (ES8) vs Object.entries (ES8)Fastest: for...of - keys (ES6) (1.5x faster)
9,017 ops/sec
8,923 ops/sec
7,703 ops/sec
6,775 ops/sec
6,751 ops/sec
6,097 ops/sec
Fastest: for...of - values (ES6) (2.6x faster)
119,242 ops/sec
52,833 ops/sec
49,135 ops/sec
48,848 ops/sec
48,197 ops/sec
45,138 ops/sec
Results show median performance across all community submissions. Run this benchmark yourself to verify on your device.
| Test case name | Result |
|---|---|
| for...in | |
| Object.keys+forEach (ES5) | |
| for...of - keys (ES6) | |
| for...of - values (ES6) | |
| for...of - entries (ES8) | |
| Object.entries (ES8) |
| Test name | Executions per second |
|---|---|
| ✓ Object.keys+forEach (ES5) | 9,084 Ops/sec |
| for...of - keys (ES6) | 8,973 Ops/sec |
| for...in | 6,012 Ops/sec |
| for...of - values (ES6) | 3,268 Ops/sec |
| for...of - entries (ES8) | 2,660 Ops/sec |
| Object.entries (ES8) | 2,633 Ops/sec |