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

列表元素修改问题:API数据中重复人员的职位追加处理

解决方案

要实现重复人员追加职位的逻辑,核心是先定位到已存在的人员记录,再将当前职位合并到该记录中,以下是具体实现:

推荐方案(职位存为数组)

这种方式更便于后续对职位进行操作,建议统一用数组存储多职位:

if (workers.any((item) => item.id == person.id)) {
  // 定位到已存在的人员记录
  const existingWorker = workers.find(item => item.id === person.id);
  // 避免重复添加相同职位(可选,根据需求决定是否保留)
  if (!existingWorker.jobTitles.includes(person.jobTitle)) {
    existingWorker.jobTitles.push(person.jobTitle);
  }
} else {
  // 新增人员时,将单个职位包装为数组存入
  workers.push({
    ...coWorker,
    jobTitles: [coWorker.jobTitle]
  });
}

备选方案(职位用字符串拼接)

如果你的数据结构要求职位用字符串形式(比如逗号分隔),可以用以下写法:

if (workers.any((item) => item.id == person.id)) {
  const existingWorker = workers.find(item => item.id === person.id);
  // 避免重复拼接同一职位
  if (!existingWorker.jobTitle.includes(person.jobTitle)) {
    existingWorker.jobTitle += `, ${person.jobTitle}`;
  }
} else {
  workers.push(coWorker);
}

说明

  • 两种方案都通过find方法匹配到已有人员对象
  • 可选的重复判断可以防止同一职位被多次添加,若业务允许重复则可去掉该判断
  • 数组存储方案更灵活,适合后续需要单独处理每个职位的场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 13:27:22