let data =[{name:"张三",mes:["安龙","土龙"],address:{age:18}}]getType(data)
console.log(getType(data))functiongetType(data){let fn ={}.toString;returnfn.call(data).slice(8,-1).toLowerCase()}functioncopy(obj){//处理数组if(getType(obj)==="array"){let result =[]
obj.forEach(item=>{
result.push(copy(item))})return result
}//处理对象if(getType(obj)==="object"){let result ={}
Object.entries(obj).forEach(([key,value])=>{
result[key]=copy(value)})return result
}return obj
}let data2 =copy(data)
data2[0].name ="李四"
console.log(data2)
console.log(data)