lodash.each vs native for-of w/ entries vs native forEach w/ entries vs vanilla for-loop w/ Object.keys vs vanilla for-loop w/ Object.entries vs vanilla for-loop w/ Object.values (no keys) vs native forEach w/ Object.values (no keys) vs native for-inFastest: vanilla for-loop w/ Object.values (no keys) (45.2x faster)
55,901 ops/sec
55,755 ops/sec
7,204 ops/sec
3,581 ops/sec
3,251 ops/sec
3,198 ops/sec
2,454 ops/sec
1,238 ops/sec
Fastest: vanilla for-loop w/ Object.values (no keys) (28.4x faster)
22,440 ops/sec
14,573 ops/sec
5,230 ops/sec
4,324 ops/sec
2,421 ops/sec
2,401 ops/sec
2,225 ops/sec
790 ops/sec
Results show median performance across all community submissions. Run this benchmark yourself to verify on your device.
| Test case name | Result |
|---|---|
| lodash.each | |
| native for-of w/ entries | |
| native forEach w/ entries | |
| vanilla for-loop w/ Object.keys | |
| vanilla for-loop w/ Object.entries | |
| vanilla for-loop w/ Object.values (no keys) | |
| native forEach w/ Object.values (no keys) | |
| native for-in |
| Test name | Executions per second |
|---|---|
| ✓ vanilla for-loop w/ Object.values (no keys) | 98,941 Ops/sec |
| native forEach w/ Object.values (no keys) | 92,508 Ops/sec |
| vanilla for-loop w/ Object.keys | 8,429 Ops/sec |
| lodash.each | 6,613 Ops/sec |
| native for-in | 5,623 Ops/sec |
| native for-of w/ entries | 4,505 Ops/sec |
| native forEach w/ entries | 4,425 Ops/sec |
| vanilla for-loop w/ Object.entries | 4,399 Ops/sec |