节点中获得唯一ID的组"/>
由JSon在节点中获得唯一ID的组
在我的nodeJs代码中,我正在从数据库中获取一些记录。我正在以JSON形式获取数据,如下所示:
[[{
sourcePguid: '000526420800003',
recordPguid: 'urn:reference:000000000000000000000000011225'
},
{
sourcePguid: '000526420800003',
recordPguid: 'urn:reference:000000000000000000000000011225'
}]
]
我想要的是类似以下JSON的内容:
{
sourcePguid: '000526420800003',
recordPguid:['urn:reference:000000000000000000000000011225','urn:reference:000000000000000000000000011225']
}
我是Java脚本和节点的新手。如果有人帮助我实现节点JS中的输出,请。
回答如下:首先,您需要对整个数组进行展平
const array = [[{
sourcePguid: '000526420800003',
recordPguid: 'urn:reference:000000000000000000000000011225'
},
{
sourcePguid: '000526420800003',
recordPguid: 'urn:reference:000000000000000000000000011225'
}]
].flat();
下一步,您需要通过一些键减少数组分组
const grouped = array.reduce((all, current) => {
const existing = all.find(element => element.sourcePguid === current.sourcePguid);
if (!existing) {
all.push({sourcePguid: current.sourcePguid, recordPguid: [current.recordPguid]});
} else if (!existing.recordPguid.find(record => record === current.recordPguid)) {
existing.recordPguid.push(current.recordPguid);
}
return all;
}, []);
更多推荐
由JSon在节点中获得唯一ID的组
发布评论