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

如何根据id匹配条件从数组中获取目标对象?

筛选数组中id等于requiredId的对象

注意:你提供的数组存在语法错误,部分键值对末尾缺少逗号,修正后的数组如下:

const data = [
  {
    "data": {
        "id": 1,
        "vol": "0.0",
        "requiredId": 100,
        "details": {
            "ABC": "8.30",
            "OFG": "13.85",
            "SPG": "70.80"
        }
    }
  },
  {
    "data": {
        "id": 2,
        "vol": "1.0",
        "requiredId": 2,
        "details": {
            "ABC": "3.30",
            "OFG": "15.85",
            "SPG": "70.80"
        }
    }
  }
];

实现方法

可以使用数组的filter()或find()方法完成筛选:

1. 获取所有符合条件的对象(返回数组)

const matchedItems = data.filter(item => item.data.id === item.data.requiredId);
console.log(matchedItems);
// 输出:[{ "data": { "id":2, "vol":"1.0", "requiredId":2, "details": {...} } }]

2. 获取第一个符合条件的对象(返回单个元素)

如果只需要第一个匹配项,用find()更高效:

const firstMatchedItem = data.find(item => item.data.id === item.data.requiredId);
console.log(firstMatchedItem);

代码说明

  • filter():遍历数组,将所有满足item.data.id === item.data.requiredId条件的元素收集为新数组返回。
  • find():遍历数组,返回第一个满足条件的元素,若没有匹配项则返回undefined。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 01:15:31