zoukankan      html  css  js  c++  java
  • 数组的深拷贝与浅拷贝

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>数组的深拷贝与浅拷贝</title>
    </head>
    <body>
        <script>
            //数组的浅拷贝
            var arr1= [1,23,5,1,3];
            var arr2 = arr1;
            arr1[0] = 99;
            console.log(arr1[0]);
            console.log(arr2[0]);
            console.log(arr1);
            console.log(arr2);
            //数组的深拷贝
            var arr3 = arr1.concat();  //连接数组,如果连接的是一个空,那么也是返回了新的本身的数组
            console.log(arr3);
            arr1[0]= 100;
            console.log("arr1: "+arr1[0]);
            console.log("arr3: "+arr3[0]);
            console.log("arr1: "+arr1);
            console.log("arr3: "+arr3);
    
            var arr4 = arr1.slice(0);  //从0开始到末尾截取数组,然后返回一个新的数组
            arr1[0]= 88;
            console.log("arr1: "+arr1[0]);
            console.log("arr4: "+arr4[0]);
            console.log("arr1: "+arr1);
            console.log("arr4: "+arr4);
    
            var arr5 = arr1.map(function(value){  //使用map方法遍历数组然后返回新的数组,里面的值不变
               return value;
            })
            arr1[0]= 77;
            console.log("arr1: "+arr1[0]);
            console.log("arr5: "+arr5[0]);
            console.log("arr1: "+arr1);
            console.log("arr5: "+arr5);
    
            var [...arr6] = arr1//ES6扩展运算符实现数组的深拷贝
            arr1[0]= 66;
            console.log("arr1: "+arr1[0]);
            console.log("arr6: "+arr6[0]);
            console.log("arr1: "+arr1);
            console.log("arr6: "+arr6);
    
        </script>
    </body>
    </html>
    

      

  • 相关阅读:
    二次离线莫队
    串串题-各种算法的应用
    插头dp 笔记
    ST03模拟赛#1 比赛记录
    AtCoder Regular Contest 123 比赛记录(vp)
    冷门trick:线性区间单调求和
    dp优化瞎吹
    概率期望
    NOI挑战赛#2 (vp) 记录
    动态规划-线性dp-序列组成-5833. 统计特殊子序列的数目
  • 原文地址:https://www.cnblogs.com/shine1234/p/12986471.html
Copyright © 2011-2022 走看看