0

私はオブジェクトを持っています:

var o = { dates: { dateFrom: "01DEC2012", dateTo: "02DEC2012" }, selection: "A" };

および関数:

var getSelection = function () {
   return { selection: "A,B" };
};

呼び出し:

o.selection = getSelection();

私を取得します:

{ dates: { dateFrom: "01DEC2012", dateTo: "02DEC2012" }, selection: { selection: "A,B"} };

私が必要な間:

{ dates: { dateFrom: "01DEC2012", dateTo: "02DEC2012" }, selection: "A,B" };

getSelection()結果を変数にフェッチしてから手動で更新できることは知っていoますが、オブジェクトは非常に複雑なので、一度にすべてを設定する必要があります。それ、どうやったら出来るの?

4

2 に答える 2

1

あなたは本質的ににマージgetSelection()してoいるので、次のようなことをすることができます:

var result = getSelection();

for (var key in result) {
    o[key] = result[key];
}

jQueryを使用している場合は、次を使用できますjQuery.extend()

var result = jQuery.extend(getSelection(), result);
于 2012-10-20T19:10:45.760 に答える
1

getSelectionメソッドを変更します。

var getSelection = function () {
   return "A,B";
};

編集:これはどうですか:

o.selection = getSelection().selection;
于 2012-10-20T19:11:03.133 に答える