建議最簡單的第一種
1、通過 json 物件實現深拷貝
this.data = json.parse(json.stringify(this.vm.$store.state.security.menuarr))2、通過jquery的extend方法實現深拷貝
var array = [1,2,3,4]; var newarray = $.extend(true,,array);
3、使用遞迴的方式實現深拷貝
//使用遞迴的方式實現陣列、物件的深拷貝
function deepclone1(obj) ;
//進行深拷貝的不能為空,並且是物件或者是
if (obj && typeof obj === "object") else }}
}return objclone;
}4、object.assign()拷貝
當物件中只有一級屬性,沒有二級屬性的時候,此方法為深拷貝,但是物件中有物件的時候,此方法,在二級屬性以後就是淺拷貝。
15、lodash函式庫實現深拷貝
lodash很熱門的函式庫,提供了 lodash.clonedeep()實現深拷貝
---------------------
中島美嘉
js 深拷貝方法
object 方法 object.assign target,source 將源拷貝到目標,切返回目標 es6 擴充套件運算子 陣列方法 slice concat,es6擴充套件運算子 複製 json序列化 let obj let str json.strify obj json.parse str...
陣列深拷貝 js深拷貝的幾種方法
1.使用遞迴 使用遞迴的方式實現陣列 物件的深拷貝function deepclone obj 進行深拷貝的不能為空,並且是物件 if obj typeof obj object else return objclone 2.通過json物件 通過js的內建物件json來進行陣列物件的深拷貝func...
js的深拷貝淺拷貝的實現方法
首先深拷貝淺拷貝是基於堆的引用型別。一 在棧中儲存字串 數字 布林值以及指向堆的位址等確定的固定值 使用另乙個變數d等於a,相當於d拷貝了a 在棧記憶體中開闢了乙個新空間d 棧中a和d兩個已經是互不相干變數,無論另乙個值怎麼變化都不會對其他值造成影響 二 堆中儲存函式 陣列 物件,這些可以新增,減少...