對陣列、物件進行深度拷貝的方法
function deepclone (data, newdata) )
} else
object.keys(data).foreach((k) => )
}} else
return newdata
}
其他拷貝方法// 使用json方法的存在的問題
// 物件的方法和值為new date()的資料,轉換之後會改變資料
function deepclone(data)
// 以下兩種方法都只能拷貝第一層,再深層的還是同乙個引用資料
function deepcloneobject (data) , data)
} function deepclonearray (data)
js物件深度拷貝
js中物件是引用資料型別,如果我們只是簡單的把物件a通過等號複製給物件b,那麼物件a b指向的還是同乙個位址,這是改變a,b也會跟著改變。var a var b a b.a 2 console.log a.a 2這並不是我們想要看到的,一般我們想要的拷貝乙個物件就是想要相互不影響兩個物件。也就是深度...
js的陣列深度拷貝
陣列的複製的時候,如果是多維陣列,進行拷貝的時候,修改新資料會影響到老資料 深度拷貝 let newdata json.parse json.stringify data.data let writedata json.parse json.stringify data.data console.l...
js陣列及物件的深拷貝
var arr1 1,2,3 var arr2 arr1.slice 0 arr1 0 0 console.log arr1 console.log arr2 var arr3 1,2,3 var arr4 arr3.concat arr3 0 0 console.log arr3 console....