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

JavaScript中如何过滤fetch返回的字典数组并提取指定属性?

解决Fetch API数据过滤与格式化问题

原请求代码

fetch(url, requestOptions)
  .then(response => response.json())
  .catch(error => console.log('error', error));

返回数据结构

[
  {
    'Obj.Name': 'objname1',
    'Obj.property': 'red'
    // 其他属性
  },
  {
    'Obj.Name': 'objname1',
    'Obj.property': 'blue'
    // 其他属性
  },
  {
    'Obj.Name': 'objname3',
    'Obj.property': 'green'
    // 其他属性
  },
]

需求

添加.then环节,传入指定的Obj.Name值(比如objname1),过滤出对应条目,并格式化为Obj: objectname1, ObjProp: red这类字符串输出。

解决方案

修改后的完整代码如下:

const targetObjName = 'objname1'; // 要过滤的目标对象名称

fetch(url, requestOptions)
  .then(response => response.json())
  .then(data => {
    // 过滤出Obj.Name匹配的条目
    const filteredItems = data.filter(item => item['Obj.Name'] === targetObjName);
    // 格式化输出每个条目
    filteredItems.forEach(item => {
      console.log(`Obj: ${item['Obj.Name']}, ObjProp: ${item['Obj.property']}`);
    });
    // 若需返回处理后的结果供后续使用,可添加 return filteredItems;
  })
  .catch(error => console.log('error', error));

代码说明

  • 定义targetObjName变量存储目标对象名称,便于后续修改
  • 用Array.filter()筛选出Obj.Name匹配的所有条目
  • 通过Array.forEach()遍历筛选结果,按指定格式输出属性
  • 若需将处理结果用于后续操作,可在.then中返回filteredItems

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 01:15:39