Javascript lodash-如何合并相同的对象并将其基本值推送到相应的数组中

Javascript lodash-如何合并相同的对象并将其基本值推送到相应的数组中,javascript,functional-programming,underscore.js,lodash,Javascript,Functional Programming,Underscore.js,Lodash,我有一个像这样的相同对象数组。我想将它们合并到一个对象中,其中只有原语值将“堆叠”到数组中,而对象将被遍历,数组将被连接 我更喜欢功能解决方案(我可以很好地管理for循环,…) 在任何情况下,使用/链接哪些lodash方法的提示都足以让我弄清楚这一点。目前我被卡住了…使用自定义方法来处理数组连接和原语。由于\uU4.mergeWith()是递归的,因此它将处理嵌套对象 constx=[{“a”:1,b:“hi”,“c:{“d”:1},”e:[1,2]},{“a”:2,“b:“there”,“c

我有一个像这样的相同对象数组。我想将它们合并到一个对象中,其中只有原语值将“堆叠”到数组中,而对象将被遍历,数组将被连接

我更喜欢功能解决方案(我可以很好地管理for循环,…)

在任何情况下,使用/链接哪些lodash方法的提示都足以让我弄清楚这一点。目前我被卡住了…

使用自定义方法来处理数组连接和原语。由于
\uU4.mergeWith()
是递归的,因此它将处理嵌套对象

constx=[{“a”:1,b:“hi”,“c:{“d”:1},”e:[1,2]},{“a”:2,“b:“there”,“c:{“d”:2},e:[3,4]}];
const result=u.mergeWith({},…x,(ov,sv)=>{
if(Array.isArray(ov))返回ov.concat(sv);
如果(ov!==未定义&&!┱isObject(ov))返回[ov,sv];
});
控制台日志(结果)

请添加卡住的地方。
const x = [
  {
    a: 1,
    b: 'hi',
    c: { d: 1 },
    e:[1,2]
  },
  {
    a: 2,
    b: 'there',
    c: { d: 2 },
    e:[3,4]
  }
];

const result = {
  a:[1,2],
  b:['hi','there'],
  c:{
    d:[1,2]
  },
  e:[1,2,3,4]
}