deep-clone.ts 383 B

12345678910111213141516
  1. const deepClone = (obj: any) => {
  2. if (obj === null) return null;
  3. const clone = Object.assign({}, obj);
  4. Object.keys(clone).forEach(
  5. key =>
  6. (clone[key] =
  7. typeof obj[key] === 'object' ? deepClone(obj[key]) : obj[key])
  8. );
  9. if (Array.isArray(obj)) {
  10. clone.length = obj.length;
  11. return Array.from(clone);
  12. }
  13. return clone;
  14. };
  15. export default deepClone;