文章阅读

沉浸阅读完整内容

写文章

深拷贝

正在统计阅读人数 正在统计字数
登录收藏0
字号 100%

 // 浅拷贝存在的问题:浅拷贝只能拷贝一层数据。
        let obj1 = {
            name: "小白",
            color: "#ff0000",
            like: ["爬山", "旅游"]
        }
        let obj2 = {}
        for (let key in obj1) {
            obj2[key] = obj1[key]
        }
        // 修改拷贝后的boj2里面值
        obj2.like[0] = "赏花 "
        // 发现修改之后会影响到boj1,所以没有拷贝成功
        console.log(obj1);
        console.log(obj2);

        // 解决办法:遍历数组或对象的所有子数据,每一层都单独拷贝
        let obj3 = JSON.parse(JSON.stringify(obj1))
        obj3.like[0] = "钓鱼"
        // 这里修改之后,发现并没有影响到obj1和obj2的数据,说明拷贝成功了
        console.log(obj3);

推荐阅读

4 篇精选
文章 / 159React配置二级路由 文章 / 157React如何进行路由跳转 文章 / 160React组件使用lazy懒加载提升效率 文章 / 158React使用Design的TabBar进行二级路由出口显示

发表评论

评论 0

还没有评论,欢迎留下第一条讨论。

分享精彩,传递价值

生成专属海报,分享你的文章,让更多人发现好内容

浏览器不支持 Canvas,无法生成海报。