63. create `_.cloneDeep()`

medium  - accepted / - tried

Object.assign() could be used to do shallow copy, while for recursive deep copy, _.cloneDeep could be very useful.

Can you create your own _.cloneDeep()?

The lodash implementation actually covers a lot of data types, for simplicity, your code just need to cover

  1. primitive types and their wrapper Object
  2. Plain Objects (Object literal) with all enumerable properties
  3. Array

There is built-in structuredClone() now, but don't use this to practice

Related Lists


Always try to find a better approach.