Lodash合并,包括未定义的值
我试图用Lodash把对象A合并到对象B中,但是我遇到的麻烦是对象A有一些未定义的值,我希望这些被复制到对象B.
Lodash文档为_.merge()说:
“将源对象的自身可枚举属性递归合并,不解析为未定义的目标对象。”
是否有另一个功能可以做到这一点,还是可以轻易覆盖?
编辑A:
示例输入:
A = {
name: "Bob Smith",
job: "Racing Driver",
address: undefined
}
B = {
name: "Bob Smith",
job: "Web Developer",
address: "1 Regent Street, London",
phone: "0800 800 80"
}
预期产出
B = {
name: "Bob Smith",
job: "Racing Driver",
address: undefined,
phone: "0800 800 80"
}
编辑B:
只是为了确认,它需要进行“深度”合并。 对象可能包含嵌套的对象。
最简单的方法是使用第三个包来实现这个https://github.com/unclechu/node-deep-extend,其目标只有深度合并,没有别的。
_.assign
/ _.extend
会这样做:
_.assign(B, A);
看一下这个。 它是一个小巧的包含deep extend
lodash方法的小程序,您可以在自己的应用程序中使用它。 这也可以让你获得你需要的功能,而不需要在你的应用程序中增加依赖(因为你已经在使用lodash了 )