perf[utils.js]: Add code comments to deepClone and remove redundant code
This commit is contained in:
		| @@ -246,6 +246,11 @@ export function debounce(func, wait, immediate) { | |||||||
|   } |   } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * This is just a simple version of deep copy | ||||||
|  |  * Has a lot of edge cases bug | ||||||
|  |  * If you want to use a perfect deep copy, use lodash's _.cloneDeep | ||||||
|  |  */ | ||||||
| export function deepClone(source) { | export function deepClone(source) { | ||||||
|   if (!source && typeof source !== 'object') { |   if (!source && typeof source !== 'object') { | ||||||
|     throw new Error('error arguments', 'shallowClone') |     throw new Error('error arguments', 'shallowClone') | ||||||
| @@ -253,7 +258,6 @@ export function deepClone(source) { | |||||||
|   const targetObj = source.constructor === Array ? [] : {} |   const targetObj = source.constructor === Array ? [] : {} | ||||||
|   Object.keys(source).forEach((keys) => { |   Object.keys(source).forEach((keys) => { | ||||||
|     if (source[keys] && typeof source[keys] === 'object') { |     if (source[keys] && typeof source[keys] === 'object') { | ||||||
|       targetObj[keys] = source[keys].constructor === Array ? [] : {} |  | ||||||
|       targetObj[keys] = deepClone(source[keys]) |       targetObj[keys] = deepClone(source[keys]) | ||||||
|     } else { |     } else { | ||||||
|       targetObj[keys] = source[keys] |       targetObj[keys] = source[keys] | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user