Javascript 如何像这样对对象数组进行分组?并删除重复?

Javascript 如何像这样对对象数组进行分组?并删除重复?,javascript,arrays,grouping,lodash,Javascript,Arrays,Grouping,Lodash,我正在编写一小段JS代码,其中包含一个数组: [ { title: 'title1', id: 1 }, { title: 'title1', id: 2 }, { title: 'title2', id: 3}, { title: 'title2', id: 4} ] 然而,我需要这样的东西: "queried": { "title1": [1, 2], "title2": [3, 4], } 我正试图用Lodash和.groupBy(数组,“title”)来实现

我正在编写一小段JS代码,其中包含一个数组:

[
 { title: 'title1', id: 1 },
 { title: 'title1', id: 2 },
 { title: 'title2', id: 3},
 { title: 'title2', id: 4}
]
然而,我需要这样的东西:

"queried": {
    "title1": [1, 2],
    "title2": [3, 4],
 }
我正试图用Lodash和
.groupBy(数组,“title”)
来实现这一点,但我得到了:

{ 
 title1:[
  { title: 'title1', id: 1 },
  { title: 'title1', id: 2 }
],
 title2:[
  { title: 'title2', id: 3 },
  { title: 'title2', id: 4 }
],
}
请如何修复它?

用于迭代组,并提取ID的值:

const lol=[{“title”:“title1”,“id”:1},{“title”:“title1”,“id”:2},{“title”:“title2”,“id”:3},{“title”:“title2”,“id”:4}];
const result=\映射值(
_.groupBy(lol,“标题”),
v=>uu.map(v,'id')
);
控制台日志(结果)

这也可以通过ES6在没有lodash的情况下完成,并且
减少
如下:

var arr=[{title:'title1',id:1},{title:'title1',id:2},{title:'title2',id:3},{title:'title2',id:4}]
常量r=arr.reduce((r,{title,id})=>
(r[title]=[…r[title]| |[],id],r),{})

console.log(r)
什么是
id1
<代码>id4
?在第一个和最后一个代码块中,这些变量是中间变量,它们看起来是字符串。@ CONXEP我编辑POST,它的整数。很好的答案和在框外的思考-它也不需要像Loasy+这样的第三方库。1.