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

如何使用匹配key删除对象列表对应项,仅保留未匹配数据

实现方案

核心逻辑

  • 先将待删除的id列表统一做类型转换(你提供的代码里selectedRow存的是字符串格式id,原数组id是数字类型,避免类型不匹配导致匹配失效),存入Set结构可以把查找效率提升到O(1)
  • 用数组的filter方法遍历对象列表,仅保留id不在删除集合中的项

可运行代码

let selectedRow = ["1","2"]; // 示例为删除id为1、2的项,可按需修改
let arr = [
   { id:1, name:"eddie" },
   { id:2, name:"jake" },
   { id:3, name:"susan" },
];

// 转成数字类型的Set集合
const toDeleteIds = new Set(selectedRow.map(Number));
// 过滤得到结果
const result = arr.filter(item => !toDeleteIds.has(item.id));

console.log(result); // 输出:[{ id: 3, name: 'susan' }]

注意点

如果你的selectedRow实际是需要保留的id列表,把filter判断里的取反符!删掉即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 15:27:02