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

微信小程序 深浅拷贝

作者: 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