javascript - 将对象数组中两个属性的唯一值存储到单个数组中

标签 javascript arrays ecmascript-6 set javascript-objects

如何获取 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.reduceArray.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/

相关文章:

javascript - javascript 中 setInterval 循环的定期暂停

javascript - 我可以使用 ES6/2015 模块导入在 'global' 范围内设置引用吗?

javascript - Jquery循环并在textarea中显示json数据

javascript - Jquery 类检查和更改

javascript - 根据视频大小调整 div 大小

arrays - 查找数组的最大元素是另一个元素的约数

用于初始化数组的 C++ 语法

javascript - 将单选按钮值传递到数组中的另一个 PHP 页面

javascript - 循环中的 ES6 解构和变量赋值

javascript - String Split 只是第一次