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

JavaScript按key值合并两个对象数组的需求与问题排查

解决JavaScript对象数组合并过滤问题

实现思路

  1. 先提取filterdata中**text不等于'do_not_import'**的所有对象的value,存入集合(提升查询效率)
  2. 过滤newdata,移除value存在于上述集合中的对象
  3. 合并filterdata和过滤后的newdata

代码实现

// 提取需要排除的value集合
const excludeValues = new Set(
  filterdata
    .filter(item => item.text !== 'do_not_import')
    .map(item => item.value)
);

// 过滤newdata,保留不在排除列表中的对象
const cleanedNewData = newdata.filter(item => !excludeValues.has(item.value));

// 合并得到最终结果
const mergedResult = [...filterdata, ...cleanedNewData];

示例验证

假设测试数据:

const filterdata = [
  { value: '1', text: '选项1' },
  { value: '2', text: 'do_not_import' },
  { value: '3', text: '选项3' }
];

const newdata = [
  { value: '1', text: '新选项1' },
  { value: '4', text: '新选项4' },
  { value: '3', text: '新选项3' }
];

运行代码后,mergedResult的结果为:

[
  { value: '1', text: '选项1' },
  { value: '2', text: 'do_not_import' },
  { value: '3', text: '选项3' },
  { value: '4', text: '新选项4' }
]

完全符合需求:newdata中value为1和3的对象被移除,剩余的4保留,最终和filterdata合并。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 10:50:18