js深拷貝方法

泛酸桂花酒發表於2020-08-03
/**
 * 深拷貝方法
 * @param {*} source 
 */
const objDeepCopy = (source) => {
  if (typeof source === 'object') {
    var sourceCopy = source instanceof Array ? [] : {}
    for (var item in source) {
      if (!source[item]) {
        sourceCopy[item] = source[item]
      } else {
        sourceCopy[item] = typeof source[item] === 'object' ? objDeepCopy(source[item]) : source[item]
      }
    }
    return sourceCopy
  }
  return source
}

相關文章