欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          示例JS 數(shù)組和對象的深拷貝操作

          示例JS 數(shù)組和對象的深拷貝操作

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

          一.數(shù)組的深拷貝

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

          1. Array.from()

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

          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}

          相關(guān)學習推薦:javascript視頻教程

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號