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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    探究深拷贝,不是很懂?
    • 2020-01-01 00:00
    • 11
    32
    0

    在这个方法中:
    假如我要拷贝的数组是arr:[[1,2],[3,4]]

       copyArr(obj) {
                    var out = [],
                        i = 0,
                        len = obj.length;
                    for (; i < len; i++) {
                        if (obj[i] instanceof Array) {
                            out[i] = this.copyArr(obj[i]);
                        } else out[i] = obj[i];
                    }
                    return out;
                },

    那么执行到第一轮的时候,obj[i]就应该为[1,2],if (obj[i] instanceof Array) {}成立
    重新执行copyArr(obj[i]),此时的obj[i]为[1,2],第二轮就变成了obj0实际为obj0,是1,那么执行else out[0]=obj0,out[1]=obj0,依次类推那out不成为了[0,1]
    不变成了一维数组?有点蒙,求指点?

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 染指徒留 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部