我有一个看起来像这样的数组(它有更多的对象,但是结构相同):
[
{
especiality: "surgery",
users: [
{
id: "182",
country: "Colombia",
province: "Bogota",
telephone: "211112212",
neighbourhood: "La Santa"
region: "South",
},
{
id: "182",
country: "Venezuela",
province: "Caracas",
telephone: "322323333",
region: "North",
},
{
id: "183",
country: "Brasil",
telephone: "23232333",
neighbourhood: "Santos"
region: "South",
},
]
},
用户由ID确定,地址由四个属性确定。目前,我有此函数,该函数返回一个通过其ID将所有用户加入的地址:
getGroups = test => {
return test.map(item => {
item.groupedUsers = [_.groupBy(item.users, user => [user.id])]
return item
})
}
问题是,如果ID相同,我还希望这些地址组成一个单个数组(我需要映射这些元素)。外观应如下图所示:
user: [{id: 182, locations[(if they exist)
country: "Colombia",
province: "Bogota",
telephone: "211112212",
neighbourhood: "La Santa"
region: "South"]}]
关于如何解决这个问题的任何想法?由于我需要考虑可能不存在的值,因此它与重复的问题不同。