0

別のオブジェクトのプロパティに基づいてオブジェクトのプロパティを更新しようとしています。プロパティ名は一致する必要があります。私が達成しようとしていることの非常に簡単な例は、次のようになります。

与えられた 2 つのオブジェクト:

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 にそのような名前のプロパティが 1 つしかないと仮定していますが、これで問題ありません。

これを行う方法について誰か考えがありますか?

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そうしないと、どこに置くかを知る方法がありません。threeobj2

于 2012-12-19T18:49:14.793 に答える