You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从员工项目动态数组中筛选出拥有相同ProjectID的所有EmpID对应条目

实现思路

  • 先统计每个ProjectID的出现次数,确认哪些项目有多名员工参与
  • 遍历原数组,只保留对应ProjectID参与人数≥2的条目即可

代码实现(JavaScript)

// 示例输入数组
const originalData = [ 
  { EmpID: '143,', ProjectID: '12,', DateFrom: '2013-11-01,', DateTo: '2014-01-05\r' },
  { EmpID: '218,', ProjectID: '10,', DateFrom: '2012-05-16,', DateTo: 'NULL\r' },
  { EmpID: '143,', ProjectID: '10,', DateFrom: '2009-01-01,', DateTo: '2011-04-27' },
];

// 第一步:统计每个项目的参与人数
const projectCount = {};
originalData.forEach(item => {
  const pid = item.ProjectID;
  projectCount[pid] = (projectCount[pid] || 0) + 1;
});

// 第二步:过滤出参与人数≥2的项目对应所有记录
const result = originalData.filter(item => projectCount[item.ProjectID] >= 2);

console.log(result);

输出结果

运行后输出的result就是目标数组:

[ 
  { EmpID: '218,', ProjectID: '10,', DateFrom: '2012-05-16,', DateTo: 'NULL\r' },
  { EmpID: '143,', ProjectID: '10,', DateFrom: '2009-01-01,', DateTo: '2011-04-27' },
]

如果你的数据里ProjectID存在多余逗号需要统一格式,统计的时候可以改成const pid = item.ProjectID.replace(',', '')处理即可,不影响整体逻辑。

内容的提问来源于stack exchange,提问作者dani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 02:45:07