javascript合并对象数组,生成数组中的对象值

标签 javascript lodash

想要合并一个对象数组,生成一个具有唯一键的对象和值数组(可以重复值)。首选使用 vanilla JS 或 lodash 的解决方案。

例如 - 来自此:

[{ 
  a: 1, 
  b: 2 
}, { 
  a: 1, 
  c: 3 
}]

对此:

{ 
  a: [1, 1],
  b: [2],
  c: [3]
}

最佳答案

您可以使用_.mergeWith()spread syntax组合对象:

const data = [{"a":1,"b":2},{"a":1,"c":3}];

const result = _.mergeWith({}, ...data, (v1 = [], v2) => [...v1, v2]);

console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>

关于javascript合并对象数组,生成数组中的对象值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44918989/

相关文章:

javascript - 添加子对象的公共(public)属性并附加 Parent Key (Node.js)

javascript - 如何重复动画(CSS 和 Javascript onclick)

javascript - Webstorm 远程调试 + 调试时编辑本地 javascript 文件

javascript - 如何取消选中具有分页功能的表排序器中的所有复选框

javascript - 将具有两个属性的对象分组到表中

使用 Material Design 和 ReactiveForms 的 Angular2 级联下拉菜单

javascript - Jasmine clock tick & Firefox : failing to trigger a Q.延时方法

javascript - 在切换按钮 [Upvote/Downvote/unvote like SO] 之间的中心查找元素

javascript - 使用 lodash 获取嵌套值

javascript - 在 lodash 的 throttle 装饰器上使用 flush