//object 方法
object.assign(target,source)// 將源拷貝到目標,切返回目標
es6 擴充套件運算子
//陣列方法:
slice ,concat,es6擴充套件運算子
複製**
json序列化
let obj = }
let str = json.strify(obj)
json.parse(str);
複製**
json 存在幾個問題,沒法轉化 是date、function、regexp,不相信的同學可以試試,物件中有這幾個型別的值,拷貝不出來 2.深層遞迴
function deepclone (obj);
let ary = ;
if(typeof obj !== "object")
if(obj instanceof array)else
}return ary;
} else else
}return cloonobj;
}}複製**
上面** 只因為 判斷是陣列還是object,寫的很冗餘,精簡一下 得到 如下
function deepclone (obj)
return t;
}複製**
驗證下:
let obj = ,d:[1,2],e:new regexp(/\d+/),f:function
(),g:new date()}
let objcloone = deepclone(obj)
console.log(objcloone);
/*>>,
d: [ 1, 2 ],
e: /\d+/,
f: [function: f],
g: 2018-10-02t10:15:19.672z }
*/複製**
js物件深拷貝方法
json.stringify 是目前前端開發過程中最常用的深拷貝方式,原理是把有個物件序列化成為乙個 json 字串,將物件的內容轉換成字串的形式再儲存到磁碟上,再用json.parse 反序列化將 json 字串變成乙個新的物件 1 let obj1 56 let str json.stringi...
陣列深拷貝 js深拷貝的幾種方法
1.使用遞迴 使用遞迴的方式實現陣列 物件的深拷貝function deepclone obj 進行深拷貝的不能為空,並且是物件 if obj typeof obj object else return objclone 2.通過json物件 通過js的內建物件json來進行陣列物件的深拷貝func...
js 淺拷貝與深拷貝和方法
淺拷貝只複製指向某個物件的指標,而不複製物件本身,新舊物件還是共享同一塊記憶體。但深拷貝會另外創造乙個一模一樣的物件,新物件跟原物件不共享記憶體,修改新物件不會改到原物件。淺拷貝是建立乙個新物件,這個物件有著原始物件屬性值的乙份精確拷貝。如果屬性是基本型別 undefined,boolean,num...