【发布时间】:2012-09-14 02:17:02
【问题描述】:
我想更新一个看起来像这样的对象:
currentObject = {
someValue : "value",
myObject : {
attribute1 : "foo",
attribute2 : "bar"
}
};
.. 使用包含一些更改的对象,即:
updateObject = {
myObject : {
attribute2 : "hello world"
}
};
最后我想更新 currentObject 以便:
currentObject.myObject.attribute2 == "hello world"
这也应该适用于其他对象.. 作为一种解决方案,我考虑过迭代对象并以某种方式处理命名空间。但我想知道使用 jQuery 或原型之类的库是否有一个简单的解决方案。
【问题讨论】:
-
如果你使用 jQuery,
$.extend应该可以满足你的需求。 -
@RocketHazmat:不,它不是递归的。
-
@Bergi:如果您将
true作为第一个参数传递,那就是! ;-) -
@Bergi 在您声明之前请先查一下。这是一个链接,您可以阅读有关
.extend的信息:api.jquery.com/jQuery.extend -
@RocketHazmat:是的,我总是忘记这一点(我不太喜欢这个函数,因为它的数组处理)
标签: javascript object properties key