如何在JavaScript中将对象文字添加到另一个对象文字

时间:2013-12-22 02:21:33

标签: javascript

我有一个对象字面值a

a = {foo: 'foo'};

我希望获得ba{bar: 'bar'}的组合:

b = {foo: 'foo', bar: 'bar'};

如果不写出a的所有属性,我该怎么办?即:

b = a + {bar: 'bar'};

不,我想要成为b的属性,如下所示:

b = {a: a, bar: 'bar'};

1 个答案:

答案 0 :(得分:1)

您可以遍历a的属性并将其添加到b,就像这样

for (var key in a) {
    b[key] = a[key];
}

如果您只想添加特定于a的属性(未继承的属性),您可以这样做

for (var key in a) {
    if (a.hasOwnProperty(key) {
        b[key] = a[key];
    }
}

正如S McCrohan所指出的,如果你使用的是jQuery,你可以使用jQuery.extend方法来做同样的事情。