SOURCE

function cloneObj (obj) {
  // Handle the 3 simple types, and null or undefined
  if (obj === null || typeof obj !== 'object') return obj

  // Handle Date
  if (obj instanceof Date) {
    let copy = new Date()
    copy.setTime(obj.getTime())
    return copy
  }

  // Handle Array
  if (obj instanceof Array) {
    let copy = []
    for (let i = 0; i < obj.length; ++i) {
      copy[i] = cloneObj(obj[i])
    }
    return copy
  }

  // Handle Object
  if (obj instanceof Object) {
    let copy = {}
    for (let attr in obj) {
      if (obj.hasOwnProperty(attr)) copy[attr] = cloneObj(obj[attr])
    }
    return copy
  }
  throw new Error('Unable to copy obj! Its type isn\'t supported.')
}
let arr = [{usr: 'dudu'}]
let obj = {"errCode":0,"msg":"Welcome to my-api dev service 1.0...","data":null,"extra":null,"info":{"runTime":"0.00486秒"}}
let b = cloneObj(obj)

console.info(
  cloneObj(arr)
)
console 命令行工具 X clear

                    
>
console