這篇文章運用簡單易懂的例子給大家介紹如何實現JS 數組和對象的深拷貝,代碼非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

海倫ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為成都創新互聯的ssl證書銷售渠道,可以享受市場價格4-6折優惠!如果有意向歡迎電話聯系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
本文實例講述了JS 數組和對象的深拷貝操作。分享給大家供大家參考,具體如下:
let arr = [
undefined,
function(){
console.log(123);
},
true,
null,
{
name:"123",
age:23
}
];
// arr作為拷貝對象Array.from()能將一個類數組轉化成一個真正的數組,因此它返回的是一個新數組。
let arr1 = Array.from(arr);
arr[0] = 2;
console.log(arr1);
// [ undefined, [Function], true, null, { name: '123', age: 23 } ]let arr1 = Object.assign([], arr)
arr[0] = 2;
console.log(arr1);
// [ undefined, [Function], true, null, { name: '123', age: 23 } ]此方法也可用作對象的深拷貝
let arr1 = arr.slice(0);
arr[0] = 2;
console.log(arr1);
// [ undefined, [Function], true, null, { name: '123', age: 23 } ]let arr1 = arr.concat();
arr[0] = 2;
console.log(arr1);
// [ undefined, [Function], true, null, { name: '123', age: 23 } ]// let [...arr1] = arr; // 這兩種都可以
let arr1 = [...arr];
arr[0] = 2;
console.log(arr1);
// [ undefined, [Function], true, null, { name: '123', age: 23 } ]此方法也可用作對象的深拷貝
let obj = {
name: "a",
age: 20,
sex: false,
user: {
a: 20,
n: "b"
},
f: function(){
return 1;
},
u: undefined,
n: null
}用擴展運算符和Object.assign()方法可以深拷貝對象
let obj1 = Object.assign({}, obj)
obj[age] = 2;
console.log(obj1);
// let obj = { name: "a", age: 20, sex: false,user: {a: 20,n: "b},f: function(){return 1;},u: undefined,n: null}關于如何實現JS 數組和對象的深拷貝就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
名稱欄目:如何實現JS數組和對象的深拷貝
標題鏈接:http://www.yijiale78.com/article24/pehjce.html
成都網站建設公司_創新互聯,為您提供建站公司、Google、面包屑導航、網站營銷、定制開發、外貿網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯