【发布时间】:2012-03-10 21:17:39
【问题描述】:
给定对象:
var firstObject = {
key1 : 'value1',
key2 : 'value2'
};
如何在另一个对象中复制属性 (secondObject),如下所示:
var secondObject = {
key1 : 'value1',
key2 : 'value2',
key3 : 'value3',
key4 : 'value4'
};
使用对firstObject的引用?像这样的:
var secondObject = {
firstObject,
key3 : 'value3',
key4 : 'value4'
};
(这行不通……我把它放在大行中只是为了显示我想如何构造代码)。
不使用任何 JavaScript 框架是否可行?
【问题讨论】:
-
问题是,你想要浅拷贝还是深拷贝?如果深,多深?
-
FWIW,它们被称为“属性”,而不是“属性”。
-
这里有一些非常丑陋但仍然有效的东西(实际上并不推荐!只是一个单行概念验证):
secondObject = JSON.parse('{' + JSON.stringify(firstObject).match(/^.(.*).$/)[1] + ',' + JSON.stringify(secondObject).match(/^.(.*).$/)[1] + '}'); -
@T.J.Crowder:我更正了这个问题......谢谢。
标签: javascript