深拷貝的方法

2022-10-09 04:39:10 字數 1151 閱讀 1008

//準備拷貝的資料 

let obj=,

],girlfriends:,

call()

}#date內建物件和正則視情況未測試

json深拷貝--(無法拷貝function)
// 第一種 json

let objclone=json.parse(json.stringify(obj));

console.log(objclone);

//列印結果

,

],girlfriends:

}

object.assign()--(只能拷貝一層)
// 第一種 json

let objclone2=object.assign(obj);

console.log(objclone2);

//列印結果

,

],girlfriends:

}

遞迴函式--(真正深拷貝)
//第三鐘 遞迴函式

function deepcopy(obj);

for(var key in obj)else

} }return copyobj;

}let objclone3 = deepcopy(obj)

console.log(objclone3)

//列印結果

,

],girlfriends:

}

jquery的extend方法--(基於jquery)
#不推薦使用

$.extend(true, targetobj, obj);

三個引數

deep:如果值為true,為深拷貝,否則淺拷貝。預設是淺拷貝

targetobj:拷貝的物件

obj:被拷貝的物件

lodash深拷貝--(安裝依賴)
//將使用的lodash引入使用的元件中

import _ from 'lodash'

//使用_.clonedeep深拷貝(變數)

const objclone = _.clonedeep(this.obj)

深拷貝的方法

準備拷貝的資料 let obj girlfriends call date內建物件和正則未測試json 無法拷貝function 第一種 json let objclone json.parse json.stringify obj console.log objclone 列印結果 girlfri...

陣列深拷貝 js深拷貝的幾種方法

1.使用遞迴 使用遞迴的方式實現陣列 物件的深拷貝function deepclone obj 進行深拷貝的不能為空,並且是物件 if obj typeof obj object else return objclone 2.通過json物件 通過js的內建物件json來進行陣列物件的深拷貝func...

js 深拷貝方法

object 方法 object.assign target,source 將源拷貝到目標,切返回目標 es6 擴充套件運算子 陣列方法 slice concat,es6擴充套件運算子 複製 json序列化 let obj let str json.strify obj json.parse str...