Test name | Executions per second |
---|---|
lodash.each | 3644.2 Ops/sec |
native for-of w/ entries | 1609.3 Ops/sec |
native forEach w/ entries | 1488.4 Ops/sec |
vanilla for-loop w/ Object.keys | 1316.6 Ops/sec |
vanilla for-loop w/ Object.entries | 1625.7 Ops/sec |
vanilla for-loop w/ Object.values (no keys) | 56961.3 Ops/sec |
native forEach w/ Object.values (no keys) | 26845.1 Ops/sec |
native for-in | 647.2 Ops/sec |
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js"></script>
var obj = Array.from({ length: 10000 }).map((value, i) => i).reduce((val, v) => { val[v] = v; return val; }, {})
_.each(obj, function(v,k) {})
for (const [k, v] of Object.entries(obj)) {}
Object.entries(obj).forEach(function(v, k) {})
const keys = Object.keys(obj);
for (let i = 0; i < keys.length; i++) { const v = obj[keys[i]]; }
const entries = Object.entries(obj);
for (let i = 0; i < entries.length; i++) { const [k, v] = entries[i]; }
const values = Object.values(obj);
for (let i = 0; i < values.length; i++){ }
Object.values(obj).forEach(function(v) {})
for (const prop in obj) { if (obj.hasOwnProperty(prop)) { const v = obj[prop]; } }