var obj1 = {
a: 1,
b: { f: { g: 1 } },
c: [1, 2, 3]
};
1. Object.assign({ }, obj1);
只能處理深度只有一層的物件
2. JSON.parse(JSON.stringify(obj1));
這個方法只能用在單純只有資料的物件,如果要複製的Object有function就會消失,因為function沒辦法轉成JSON格式
3. $.extend(true, { }, obj1);
深複製,一般使用這個就可以了,但是也非完全深複製,可以查看不完全例子 : https://blog.csdn.net/u010003835/article/details/56671450
4. _.cloneDeep(obj1);
函式庫 lodash
參考: http://larry850806.github.io/2016/09/20/shallow-vs-deep-copy/
發表評論
此篇評論