Run details:
Mozilla/5.0 (iPhone; CPU iPhone OS 15_2_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Mobile/15E148 Safari/604.1
Mobile Safari 15
iOS 15.2.1
Mobile
3 years ago
Test name Executions per second
lodash.each 839.0 Ops/sec
lodash.map 765.1 Ops/sec
Object.entries.map 669.3 Ops/sec
vanilla for-loop w/ Object.entries 674.8 Ops/sec
lodash.forEach 745.6 Ops/sec
Object.values 839.5 Ops/sec
Object.keys 734.0 Ops/sec
HTML Preparation code:
AخA
 
1
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js"></script>
Script Preparation code:
 
var obj = Array.from({ length: 10000 }).map((value, i) => i).reduce((val, v) => { val[v] = v; return val; }, {})
Tests:
  • lodash.each

     
    _.each(obj, function(v, k) {})
  • lodash.map

     
    _.map(obj, function(v, k) {})
  • Object.entries.map

     
    Object.entries(obj).map(function([k, v]) {})
  • vanilla for-loop w/ Object.entries

     
    const entries = Object.entries(obj);
    for (let i = 0; i < entries.length; i++) { const [k, v] = entries[i]; }
  • lodash.forEach

     
    _.forEach(obj, function(v, k) {})
  • Object.values

     
    const entries = Object.values(obj);
    for (let i = 0; i < entries.length; i++) { const v = entries[i]; }
  • Object.keys

     
    const entries = Object.keys(obj);
    for (let i = 0; i < entries.length; i++) { const [k, v] = entries[i]; }