账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    js数组已经实现深拷贝,但是修改其中一个数组的值,其他数组的值会改变?
    28
    0
    _createProps: function (props){
        let colProp = [], rowProp = [], propsAry = [], temp = [];
    
        if (props[0]){
          props[0].childsCurGoods.forEach(function(n,i){
            colProp.push({id:n.id,name:n.name,buyNum:0});
          });
          propsAry = colProp;
          if (props[1]){
                props[1].childsCurGoods.forEach(function (n, i) {
                 
                  temp[i] = [];
                  for (let j = 0; j < colProp.length;j++){
                    temp[i].push(colProp[j]);
                  }
                  rowProp.push({ id: n.id, name: n.name, child: temp[i]})
                });
    
                propsAry = rowProp;
              }
        }
        return propsAry;
      }```
    在小程序某一页面有这么一函数,目的是将一段数据过滤我需要的如下数据格式:
    

    res:[

    {
        "id":1,
        "name":"www",
        "child":[
            {
                "id":2,
                "name":"ssss",
                "buyNum":23
            },
            {
                "id":2,
                "name":"ssss",
                "buyNum":23
            },
            {
                "id":2,
                "name":"ssss",
                "buyNum":23
            },
            {
                "id":2,
                "name":"ssss",
                "buyNum":23
            }
        ]
    }

    ]

    现在的问题是我一改变其中一个一个对象中的chile的某个值,就会导致其他对象的child发生改变。比如我通过`res[0].child[0].buyNum = 3`,会导致res[0].child[1]、res[0].child[2]...中的buyNum的值都变成3。
    0
    打赏
    收藏
    点击回答
        全部回答
    • 共 0 条
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部