我有一个对象:
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
,但我的对象要复杂得多,我需要一次性设置整个事物。我该怎么做?
答案 0 :(得分:1)
你基本上是将getSelection()
合并到o
,所以你可以这样做:
var result = getSelection();
for (var key in result) {
o[key] = result[key];
}
如果您使用的是jQuery,则可以使用jQuery.extend()
:
var result = jQuery.extend(getSelection(), result);
答案 1 :(得分:1)
更改你的getSelection方法:
var getSelection = function () {
return "A,B";
};
编辑: 怎么样:
o.selection = getSelection().selection;