Javascript object物件的淺複製、深複製

2018/06/26 16:54 東興 JavaScript

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/

發表評論

  • (600字以內)
留言身份 :

此篇評論