deep-clone.ts 375 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