Run details:
Mozilla/5.0 (Linux; Android 11; POCO M2 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Mobile Safari/537.36
Chrome Mobile 108
Android
Mobile
2 years ago
Test name Executions per second
Lodash cloneDeep 83970.8 Ops/sec
Json clone 64648.2 Ops/sec
HTML Preparation code:
x
 
1
2
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
Script Preparation code:
 
var MyObject = {
  string: 'Creates a deep copy of source, which should be an object or an array.',
  number: 1234567890,
  boolean: true,
  nullable: null,
  json: {
    stringify: 'JSON.stringify() method converts a JavaScript value to a JSON string....',
    parse: 'JSON.parse() method parses a JSON string...'
  },
  array: [
    {
      id: 5,
      blocked: false,
      avatar: null,
      user: {
        firstName: 'Alan',
        lastName: 'Walker'
      },
    },
    {
      id: 5688,
      blocked: false,
      avatar: null,
      user: {
        firstName: 'Anna',
        lastName: 'Wanderwood'
      },
    },
    {
      id: 80043,
      blocked: true,
      avatar: 'image.jpg',
      user: {
        firstName: 'Serj',
        lastName: 'Cooper'
      },
    },
  ]
};
var myCopy = null;
Tests:
  • Lodash cloneDeep

     
    myCopy = _.cloneDeep(MyObject);
  • Json clone

     
    myCopy = JSON.parse(JSON.stringify(MyObject));