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) {
 | 
			
		||||
  if (!source && typeof source !== 'object') {
 | 
			
		||||
    throw new Error('error arguments', 'shallowClone')
 | 
			
		||||
@@ -253,7 +258,6 @@ export function deepClone(source) {
 | 
			
		||||
  const targetObj = source.constructor === Array ? [] : {}
 | 
			
		||||
  Object.keys(source).forEach((keys) => {
 | 
			
		||||
    if (source[keys] && typeof source[keys] === 'object') {
 | 
			
		||||
      targetObj[keys] = source[keys].constructor === Array ? [] : {}
 | 
			
		||||
      targetObj[keys] = deepClone(source[keys])
 | 
			
		||||
    } else {
 | 
			
		||||
      targetObj[keys] = source[keys]
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user