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

JS如何匹配两个数组的activityCode更新对应对象的isValid属性值

实现方案

推荐先把数组b的activityCode提取为Set集合,再遍历数组a赋值isValid属性,相比每次遍历查询b的写法,性能更高,尤其适合数据量较大的场景。

方案1:直接修改原数组a

// 提取b中所有activityCode存入Set
const validCodeSet = new Set(b.map(el => el.activityCode))
// 遍历a更新isValid属性
a.forEach(el => {
  el.isValid = validCodeSet.has(el.activityCode)
})

执行后原数组a就会变成你需要的结果。

方案2:生成新数组,不修改原数组a

如果不想改动原始的a数组,可以用map返回新数组:

const validCodeSet = new Set(b.map(el => el.activityCode))
const processedA = a.map(el => ({
  ...el,
  isValid: validCodeSet.has(el.activityCode)
}))

processedA就是处理后的目标数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 21:45:05