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

JavaScript中如何筛选数组对象,保留指定ID对应元素

首先得先修正你代码里的语法错误——对象的属性赋值要用冒号:,不是等号=,否则会直接报错。修正后的基础代码如下:

const arrObj = [
  {
    value: 1,
    name: 'a'
  },
  {
    value: 2,
    name: 'e'
  },
  {
    value: 3,
    name: 'i'
  },
  {
    value: 4,
    name: 'o'
  },
  {
    value: 5,
    name: 'u'
  }
];

const selectedIds = [1,4,5];

接下来有两种常用方式实现需求:

1. 基础筛选(适合小体量ID列表)

用数组的filter方法配合includes,直接筛选出value在selectedIds里的元素:

const selectedObjs = arrObj.filter(item => selectedIds.includes(item.value));

2. 性能优化版(适合大量ID的场景)

如果selectedIds元素很多,数组的includes查找效率较低(O(n)复杂度),可以先把ID列表转成Set,利用Set的has方法(O(1)复杂度)提升性能:

const idSet = new Set(selectedIds);
const selectedObjs = arrObj.filter(item => idSet.has(item.value));

两种方式得到的selectedObjs都是和arrObj结构完全一致的新数组,只包含你指定ID对应的元素。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 04:15:41