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 arr = [];
var object = { 
    type: 'aaa',
    subtype: 'bbb',
    card_last4:'bbb',
    card_type:'bbb',
    card_exp_month:'bbb',
    card_exp_year:'bbb',
    card_country:'bbb',
    foo: 'bar'
};
for (var i = 0; i <= 10; i++) { arr.push(object); }
Tests:
  • Lodash pick

     
    arr.map(function (element) {
        return _.pick(
            element,
            'type',
            'subtype',
            'card_last4',
            'card_type',
            'card_exp_month',
            'card_exp_year',
            'card_country',
            'something'
        );
    });
  • Native pick

    x
     
    function pick(object, keys) {
      return keys.reduce((obj, key) => {
         if (object && object.hasOwnProperty(key)) {
            obj[key] = object[key];
         }
         return obj;
       }, {});
    }
    arr.map(function (element) {
        return pick(
          element,
          ['type',
          'subtype',
          'card_last4',
          'card_type',
          'card_exp_month',
          'card_exp_year',
          'card_country',
          'something']
        );
    });
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Lodash pick
    Native pick

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: one year ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36
Chrome 117 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
Lodash pick 49481.9 Ops/sec
Native pick 322780.3 Ops/sec