美文网首页
微信小程序 深浅拷贝

微信小程序 深浅拷贝

作者: Accepted_ | 来源:发表于2020-08-15 20:31 被阅读0次

    后台传来一个数组有三组数值不同的数据。

    遍历数组,将每组数据用字典(JSON)暂存一下(重复使用同一个字典对象),再把字典的数据存入新数组。

    最后打印新数组发现新数组中的三个数据都是相同的。考虑了下可能是深浅拷贝这方面的问题,参考了微信小程序 对象的深浅拷贝解决了问题。如下:

    function copyobj(a){

        var c={};

        c=JSON.parse(JSON.stringify(a));

        return c;

    }

    其实 终极思想就是json再转成对象,相当于在内存中又多了一份,就不止是复制的引用啦

    浅拷贝就很简单了‘=’


    简单来说

    浅拷贝是指针拷贝,新指针和旧指针指向同一块地址。所以每次添加到数组的都是同一个地址的数据,导致新数组中三组数据都相同。

    深拷贝将对象也进拷贝了一份到新的内存地址,新指针指向了新内存地址。所以放入新数组的三组数据都是相互独立的字典(JSON)对象,修改值互不影响。

    相关文章

      网友评论

          本文标题:微信小程序 深浅拷贝

          本文链接:https://www.haomeiwen.com/subject/lztlphtx.html