如何获取 requesterPractitionerId 和 performerOrganizationId 的唯一值。我需要在单个数组中存储 requesterPractitionerId 和 performerOrganizationId 的唯一值。
[
{
id: '1043120',
requesterPractitionerId: '1043119',
},
{
id: '1043081',
requesterPractitionerId: '1043080'
},
{
id: 'e1dceebe-c5ba-46a5-a63a-bff709896af4',
requesterPractitionerId: 'e0a844e4-6c8a-489a-8bd6-1d62267d311e',
performerOrganizationId: '05D0889009',
},
{
id: '2709842f-41e3-4193-8607-fc34d3d24ec1',
requesterPractitionerId: 'e0a844e4-6c8a-489a-8bd6-1d62267d311e',
performerOrganizationId: '05D0889009'
}
]
预期输出:
1043119
1043080
e0a844e4-6c8a-489a-8bd6-1d62267d311e
05D0889009
我是 Javascript 的新手,为此苦苦挣扎了几个小时。非常感谢任何帮助。
最佳答案
使用Set , Array.reduce和 Array.from
- 使用
reduce
创建一个包含上述字段的唯一值的集合 - 然后使用
Array.from
将集合转换为数组
let arr = [{id:'1043120',requesterPractitionerId:'1043119'},{id:'1043081',requesterPractitionerId:'1043080'},{id:'e1dceebe-c5ba-46a5-a63a-bff709896af4',requesterPractitionerId:'e0a844e4-6c8a-489a-8bd6-1d62267d311e',performerOrganizationId:'05D0889009'},{id:'2709842f-41e3-4193-8607-fc34d3d24ec1',requesterPractitionerId:'e0a844e4-6c8a-489a-8bd6-1d62267d311e',performerOrganizationId:'05D0889009'}];
let result = Array.from(arr.reduce((a,c) => {
if(c.requesterPractitionerId) a.add(c.requesterPractitionerId);
if(c.performerOrganizationId) a.add(c.performerOrganizationId);
return a;
}, new Set()));
console.log(result);
关于javascript - 将对象数组中两个属性的唯一值存储到单个数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56249745/