1.JSON格式转换法 —— 深拷贝
 

function deepCopy(obj){
  return JSON.parse(JSON.stringify(obj));
}

2.手写深拷贝

 

function deepCopy(obj){
	var newObj = Array.isArray(obj)?[]:{}
	for(let keys in obj){
		if(obj.hasOwnProperty(keys)){
			newObj[keys] = typeof obj[keys]==='object' ? deepCopy(obj[keys]) : obj[keys]
		} 
	}
	return newObj; 
}

无论深拷贝还是浅拷贝,考验的都是对数组和对象的操作和递归