复制一个对象内容给另一个对象

Posted 名字不好起啊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了复制一个对象内容给另一个对象相关的知识,希望对你有一定的参考价值。

  有种情况,我们需要操作相同的数据,但是又不希望两者出现干扰的情况。比如,angular 中,使用指令绘制图像,双向绑定,当你选中改变数据的显示或隐藏标志时,你其实并不希望它重新绘制,因为它的数据并没有更新改变,但你改变了绑定的数据的一个微不足道的属性值,就会导致其重绘,那怎么办呢,只能再复制出一个相同对象,一个提供展示,一个提供点击不请求新数据。

  说的有点多,总之就是将一个对象的属性给另一个对象,最先想到的肯定是这样的:

var obj1={
    ‘name‘:‘AAA‘,
    ‘age‘:12
}
console.log(obj1);
var obj2 = obj1;

耦合了。。。更改一个对象属性值,另一个也会变,因为 obj1 是把对象的地址存储到了 obj2 变量值中,这并不是复制。

当然也可以进行循环然后将 key 和 value 复制给一个新的对象。

这个也能达到要求,但我们来说一个最简单的!

var json = JSON.stringify(obj1)
var obj3 = JSON.parse(json) 

使用转 json ,获取一个新的字符串,后再将字符串反转一下赋给一个新的变量,是不是很机智!!!

以上是关于复制一个对象内容给另一个对象的主要内容,如果未能解决你的问题,请参考以下文章

js 对象操作 对象原型操作 把一个对象A赋值给另一个对象B 并且对象B 修改 不会影响 A对象

js 深浅拷贝

java 如何实现判断一个对象所有的属性是不是为空

当一个对象被分配给另一个对象时会发生啥?

如何将库类或对象传递给片段?

如何在 C# 中复制类对象 [重复]