Lodash合并已经不在对象中的对象的属性

时间:2016-08-25 22:33:49

标签: javascript lodash

我有一个对象:

var props = {//values here};

this.options: {
    cssSelectorAncestor: props.cssSelectorAncestor,
    media: {
        autoPlay: props.autoPlay,
        muted: props.muted
    }   
}

this.options = _.merge(
{
    defaultPlaybackRate: 1.0,
    minPlaybackRate: 0.5
}, props);

如何将道具分开中的所有属性与已分配给选项的属性合并。

考虑道具不可变。

2 个答案:

答案 0 :(得分:3)

我只是在这里猜测,因为我在查看示例代码时遇到了问题,但我认为您需要defaults()

const result = _.defaults({ foo: true }, { foo: false, bar: true });
// ➜ { foo: true, bar: true }

这只会合并到不存在的属性中。

答案 1 :(得分:0)

将所有三个对象合并为一个空对象。确保按正确的顺序进行。优先级最高的键位于右侧。