123456789101112131415161718 |
- // form: https://www.30secondsofcode.org/js/s/deep-clone
- const deepClone = obj => {
- if (obj === null) return null;
- let clone = Object.assign({}, obj);
- Object.keys(clone).forEach(
- key =>
- (clone[key] =
- typeof obj[key] === 'object' ? deepClone(obj[key]) : obj[key])
- );
- if (Array.isArray(obj)) {
- clone.length = obj.length;
- return Array.from(clone);
- }
- return clone;
- };
- export default deepClone
|