js實現深度拷貝

2022-06-09 15:09:11 字數 636 閱讀 2664

js實現拷貝,使用普通賦值物件,在操作其中乙個物件值的時候,另乙個也會更改,不符合需求

因此引入深度拷貝,以下為實現深度拷貝的幾種法:

//

合併多個物件

var target = ;

var source1 = ;

var source2 = ;

object.assign(target, source1, source2);

注意: 這個是偽深度拷貝,只能拷貝第一層

function

deepclone(source); //

判斷複製的目標是陣列還是物件

js物件深度拷貝

js中物件是引用資料型別,如果我們只是簡單的把物件a通過等號複製給物件b,那麼物件a b指向的還是同乙個位址,這是改變a,b也會跟著改變。var a var b a b.a 2 console.log a.a 2這並不是我們想要看到的,一般我們想要的拷貝乙個物件就是想要相互不影響兩個物件。也就是深度...

js深度拷貝與淺度拷貝

如果你想真正自己理解和運用深度轉殖的話,首先必須要了解的就是js中的原始值和引用值,以及它們的儲存位置及方式。這裡簡單的說一下,原始值是儲存在棧裡的,而且儲存的是變數的實際值。引用值儲存在堆裡,且儲存的是乙個指標,該指標指向記憶體中的某個位置,該位置儲存變數的實際值。var a 2 var a co...

js的陣列深度拷貝

陣列的複製的時候,如果是多維陣列,進行拷貝的時候,修改新資料會影響到老資料 深度拷貝 let newdata json.parse json.stringify data.data let writedata json.parse json.stringify data.data console.l...