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了

链接地址: http://www.djcxy.com/p/19463.html

上一篇: Lodash merge including undefined values

下一篇: Git mergetool generates unwanted .orig files