js vue deep copy solves the problem of one change and the other also changes accordingly

function deepClone(source) {
    
    
  if (!source && typeof source !== 'object') {
    
    
    throw new Error('error arguments', 'deepClone')
  }
  const targetObj = source.constructor === Array ? [] : {
    
    }
  Object.keys(source).forEach(keys => {
    
    
    if (source[keys] && typeof source[keys] === 'object') {
    
    
      targetObj[keys] = deepClone(source[keys])
    } else {
    
    
      targetObj[keys] = source[keys]
    }
  })
  return targetObj
}


Guess you like

Origin blog.csdn.net/qq_38946996/article/details/133167427