index.js 436 B

1234567891011121314
  1. export function deepClone(source) {
  2. if (!source && typeof source !== 'object') {
  3. throw new Error('error arguments', 'deepClone');
  4. }
  5. const targetObj = source.constructor === Array ? [] : {};
  6. Object.keys(source).forEach((keys) => {
  7. if (source[keys] && typeof source[keys] === 'object') {
  8. targetObj[keys] = deepClone(source[keys]);
  9. } else {
  10. targetObj[keys] = source[keys];
  11. }
  12. });
  13. return targetObj;
  14. }