<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            java語言

            JavaScript如何進行數組復制

            時間:2025-03-10 20:37:02 java語言 我要投稿
            • 相關推薦

            JavaScript如何進行數組復制

              導語:JavaScript如何進行數組復制?下面是小編給大家提供的數組復制代碼實現,大家可以參考閱讀,更多詳情請關注應屆畢業生考試網。

              push

              function copyArray(arr){

              var result = [];

              for(var i = 0; i < arr.length; i++){

              result.push(arr[i]);

              }

              return result;

              }

              var obj1=[1,2,3];

              var obj2=copyArray(obj1);

              console.log(obj1); //[1,2,3]

              console.log(obj2); //[1,2,3]

              obj2.push(4);

              console.log(obj1); //[1,2,3]

              console.log(obj2); //[1,2,3,4]

              join

              ??使用該方法的缺點是數組中的項全部變成了字符串形式

              function copyArray(arr){

              var result = [];

              result = arr.join().split(',');

              return result;

              }

              var obj1=[1,2,3];

              var obj2=copyArray(obj1);

              console.log(obj1); //[1,2,3]

              console.log(obj2); //['1','2','3']

              obj2.push(4);

              console.log(obj1); //[1,2,3]

              console.log(obj2); //['1','2','3',4]

              concat

              function copyArray(arr){

              var result = [];

              result = arr.concat();

              return result;

              }

              var obj1=[1,2,3];

              var obj2=copyArray(obj1);

              console.log(obj1); //[1,2,3]

              console.log(obj2); //[1,2,3]

              obj2.push(4);

              console.log(obj1); //[1,2,3]

              console.log(obj2); //[1,2,3,4]

              slice

              function copyArray(arr){

              var result = [];

              result = arr.slice();

              return result;

              }

              var obj1=[1,2,3];

              var obj2=copyArray(obj1);

              console.log(obj1); //[1,2,3]

              console.log(obj2); //[1,2,3]

              obj2.push(4);

              console.log(obj1); //[1,2,3]

              console.log(obj2); //[1,2,3,4]

              深拷貝

              ??以上方法實現的僅是數組的淺拷貝,如果要實現數組的深拷貝,需要使用遞歸方法

              function copyArray(arr,result){

              var result = result || [];

              for(var i = 0; i < arr.length; i++){

              if(arr[i] instanceof Array){

              result[i] = [];

              copyArray(arr[i],result[i]);

              }else{

              result[i] = arr[i];

              }

              }

              return result;

              }

              var obj1=[1,2,[3,4]];

              var obj2=copyArray(obj1);

              console.log(obj1[2]); //[3,4]

              console.log(obj2[2]); //[3,4]

              obj2[2].push(5);

              console.log(obj1[2]); //[3,4]

              console.log(obj2[2]); //[3,4,5]

            【JavaScript如何進行數組復制】相關文章:

            word公式如何進行快速復制粘貼08-18

            如何入門學習JavaScript11-10

            Java如何打印數組11-01

            如何正確使用Java數組11-04

            PHP新手如何學習數組10-15

            如何判斷php數組的維度08-04

            如何使用C語言數組指針09-14

            如何檢查JavaScript變量的類型09-19

            JavaScript如何實現JSON.stringify09-19

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看