我如何将值分配给一个对象的属性到另一个对象?

时间:2015-10-25 14:57:34

标签: javascript

我有两个对象,如:

var a = { a1: 'a1', a2: 'a2', a3: {}}
var b = { a1: 'b1', a2: 'b2', a3: {}}

我如何将值分配给一个对象的属性到另一个对象?

如果我尝试使用a=b我得到一个对象链接到b。我只想等同于属性的值。

2 个答案:

答案 0 :(得分:2)

使用Object.assign()

Object.assign(b, a); // Assign all properties of a to b. Changing b in the process.

建议:Object.assign()它相对较新,并且目前在Internet Explorer中不受支持。

可以使用 here 进行填充。

答案 1 :(得分:0)

克隆对象有很多方法。

两种优雅(可能不是最有效)的方式是:

没有 JQUERY - 使用serialize \ deserialize方式

var obj = { a1: 'a1', a2: 'a2', a3: {}}
var cloned = JSON.parse(JSON.stringify(obj));

使用 JQUERY - 使用$.extend

var obj = { a1: 'a1', a2: 'a2', a3: {}}
var cloned = $.extend({}, obj);