zoukankan      html  css  js  c++  java
  • 理解“浅拷贝”和“深拷贝”

    浅拷贝:将原对象(原数组)的“引用”直接赋给新对象(新数组),新对象(新数组) 是原对象(原数组)的一个引用。如果改变这个新对象(新数组),原对象(原数组)就会改变。

    深拷贝:将原对象的各项属性的“值”(数组的所有元素)都拷贝给新对象(新数组),是拷贝的“值”,而不是“引用”。

    为什么要使用深拷贝?

    希望改变新对象(新数组)的时候,不改变原对象(原数组)。

    对于数组如何使用深拷贝:

    1.直接遍历法

        var arr = [1, 2, 3, 4];
        function copy(arr) {
          var newArr = [];
          for (let item of arr ) {
            newArr.push(item);
          }
          return newArr;
        }
        var copyArr = copy(arr);
        copyArr[0] = 50;
        console.log(arr); // [1, 2, 3, 4]
        console.log(copyArr); // [50, 2, 3, 4]
  • 相关阅读:
    mongodb数据库shell
    PLINK pca
    xgboost 安装
    tensorflow之损失函数
    php,mysql存储过程的简单例子
    ECharts初体验
    mysql常用连接查询
    php流程控制
    php循环
    高效率php注意事项
  • 原文地址:https://www.cnblogs.com/ympjsc/p/11838506.html
Copyright © 2011-2022 走看看