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