javascript - 如何合并 2 个 javascript 对象,如果另一个对象中不存在属性,则填充一个对象中的属性?

标签 javascript arrays merge

如果我有一个 javascript 对象/assoc.数组定义如下:

function somefunction(options) {

    var defaults = {
        prop1: 'foo',
        prop2: 'bar'
    };

    //Do stuff here

}

我想使用它作为函数的默认值。因此,当函数被调用时,我想用 defaults 中的值填充 options 变量,但前提是它们不存在于 options 中.

所以我们可以说这被称为

somefunction({ prop1: 'fish' });

我怎样才能使选项默认值合并,这样我就得到了这个

{
    prop1: 'fish',
    prop2: 'bar'
}

最佳答案

重新阅读问题后,我意识到您可能正在寻找更像这样的东西:

var a = { 'foo': 'bar', 'baz': 'bat' };
var b = { 'foo': 'quux' };
for (var prop in a) {
    if (prop in b) { continue; }
    b[prop] = a[prop];
}

关于javascript - 如何合并 2 个 javascript 对象,如果另一个对象中不存在属性,则填充一个对象中的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/896043/

相关文章:

javascript - 如何从api获取json数组

java - Android,如何动态填充 CharSequence 数组(不初始化?)

arrays - 调整向量大小 Julia

c# - 带有数组返回的泛型列表但是如何?

python - MemoryError 将两个数据帧与 pandas 和 dasks 合并——我该怎么做?

javascript - 如何为最小的构建尺寸导入 Lodash

javascript - 如何禁用按钮以避免多次提交?

vba powerpoint合并循环中的单元格

Javascript对象获取代码作为字符串

git - 使用 Git 升级 Magento