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

如何删除JSON对象数组中与另一指定数组id匹配的元素

JS数组按匹配id过滤实现方案

我们需要从第一个数组中移除所有id存在于第二个数组内的元素,可参考以下两种实现:

方案1:基于Set实现(推荐,大数据量下性能更优)

先将第二个数组需要移除的id提取为Set集合,利用Set O(1)的查找特性提升过滤效率:

var arry1 = [{id:1,name:"muni"},{id:2,name:"Anji"}, {id:3,name:"vinod"},{id:4,name:"anil"}];
var arry2 = [{id:3},{id:1}];

// 提取需要移除的id集合
const removeIdSet = new Set(arry2.map(item => item.id));
// 过滤得到剩余元素
arry1 = arry1.filter(item => !removeIdSet.has(item.id));

执行后arry1的结果就是你需要的[{id:2,name:"Anji"},{id:4,name:"anil"}]。

方案2:基于Array.includes实现(适合小数据量场景)

如果两个数组的元素量都很小,可以直接用数组includes方法实现,写法更直观:

var arry1 = [{id:1,name:"muni"},{id:2,name:"Anji"}, {id:3,name:"vinod"},{id:4,name:"anil"}];
var arry2 = [{id:3},{id:1}];

const removeIds = arry2.map(item => item.id);
arry1 = arry1.filter(item => !removeIds.includes(item.id));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 11:48:01