js 陣列 物件深度拷貝及方法的注意點

2021-10-01 14:39:41 字數 449 閱讀 4741

對陣列、物件進行深度拷貝的方法

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....