91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JS數組和對象的深拷貝操作的實例分析

發布時間:2020-07-18 10:18:26 來源:億速云 閱讀:139 作者:小豬 欄目:web開發

這篇文章主要講解了JS數組和對象的深拷貝操作的實例分析,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

本文實例講述了JS 數組和對象的深拷貝操作。分享給大家供大家參考,具體如下:

一.數組的深拷貝

let arr = [
 undefined,
 function(){
  console.log(123); 
 },
 true,
 null,
 {
  name:"123",
  age:23
 }
];
// arr作為拷貝對象

1. Array.from()

Array.from()能將一個類數組轉化成一個真正的數組,因此它返回的是一個新數組。

let arr1 = Array.from(arr);
arr[0] = 2;
console.log(arr1);
// [ undefined, [Function], true, null, { name: '123', age: 23 } ]

2. Object.assign()

let arr1 = Object.assign([], arr)
arr[0] = 2;
console.log(arr1);
// [ undefined, [Function], true, null, { name: '123', age: 23 } ]

此方法也可用作對象的深拷貝

3. Slice()

let arr1 = arr.slice(0);
arr[0] = 2;
console.log(arr1);
// [ undefined, [Function], true, null, { name: '123', age: 23 } ]

4. Concat()

let arr1 = arr.concat();
arr[0] = 2;
console.log(arr1);
// [ undefined, [Function], true, null, { name: '123', age: 23 } ]

5. 擴展運算符深拷貝

// 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數組和對象的深拷貝操作的實例分析有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大方县| 得荣县| 左云县| 芒康县| 班玛县| 醴陵市| 井冈山市| 葫芦岛市| 荃湾区| 自贡市| 三江| 庆安县| 泾阳县| 柳河县| 洪湖市| 吉首市| 沙雅县| 大同市| 永定县| 双牌县| 咸阳市| 巴南区| 曲靖市| 旬阳县| 越西县| 崇左市| 望城县| 杭州市| 多伦县| 永年县| 岑巩县| 灌南县| 南溪县| 磐安县| 黔江区| 丰台区| 黄梅县| 华阴市| 北票市| 阳西县| 资中县|