0

我正在尝试根据另一个对象的属性匹配更新对象的属性。属性名称必须匹配。我试图实现的一个非常简单的示例如下所示:

给定两个对象:

var obj1 = {
   one: "1",
   two: "2",
   three: {
            threeDotOne: "3.1",
            threeDotTwo: "3.2",
            threeDotAny: "3.3"
          }
}

var obj2 = {threeDotAny: "3.4"}

updateObjectOneProperty(obj1, obj2)

结果如下所示:

var obj1 = {
   one: "1",
   two: "2",
   three: {
            threeDotOne: "3.1",
            threeDotTwo: "3.2",
            threeDotAny: "3.4"
          }
}

在这里,我假设在 obj1 中只有一个具有这样名称的属性,这很好。

有谁知道如何做到这一点?

4

1 回答 1

2

jQuery$.extend可以做到:

http://jsfiddle.net/vjCvM/

var obj1 = {
    one: "1",
    two: "2",
    three: {
        threeDotOne: "3.1",
        threeDotTwo: "3.2",
        threeDotAny: "3.3"
    }
}

var obj2 = {
    threeDotAny: "3.4"
}

$.extend(obj1.three, obj2);

如果您希望能够在不指定obj1.three,的情况下执行此操作,则three需要是 的属性,obj2否则无法知道将其放置在哪里。

于 2012-12-19T18:49:14.793 回答