在寫項目代碼的時候,忽略了對象深拷貝的問題,致使了一個讓人迷惑的複製bug; 今日以此留code,但願下次不在有這個問題致使的bug;數組
/**
* @description 對象數組深拷貝
* */
const deepClone=function(obj){
let objClone = Array.isArray(obj)?[]:{};
if(obj && typeof obj==="object"){
for(var key in obj){
if(obj.hasOwnProperty(key)){
//判斷ojb子元素是否爲對象,若是是,遞歸複製
if(obj[key]&&typeof obj[key] ==="object"){
objClone[key] = deepClone(obj[key]);
}else{
//若是不是,簡單複製
objClone[key] = obj[key];
}
}
}
}
return objClone;
}複製代碼