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

ReactJS中如何移除数组内certification为空的对象

移除数组中空认证的release_dates对象解决方案

完全可行,你需要对数据进行两层处理:遍历地区数组(results),同时过滤每个地区下release_dates中certification为空的项。以下是具体实现代码:

原始数据

const originalData = {
  "id": 603692,
  "results": [
    {
      "iso_3166_1": "GB",
      "release_dates": [
        {
          "certification": "",
          "descriptors": [],
          "iso_639_1": "",
          "note": "London",
          "release_date": "2023-03-24T00:00:00.000Z",
          "type": 3
        },
        {
          "certification": "15",
          "descriptors": [],
          "iso_639_1": "",
          "note": "",
          "release_date": "2023-03-24T00:00:00.000Z",
          "type": 3
        }
      ]
    },
    {
      "iso_3166_1": "US",
      "release_dates": [
        {
          "certification": "",
          "descriptors": [],
          "iso_639_1": "",
          "note": "",
          "release_date": "2023-03-20T00:00:00.000Z",
          "type": 1
        },
        {
          "certification": "R",
          "descriptors": [],
          "iso_639_1": "",
          "note": "",
          "release_date": "2023-03-24T00:00:00.000Z",
          "type": 3
        }
      ]
    }
  ]
};

处理代码

// 过滤空认证的release_dates项
const filteredData = {
  // 保留原数据的id等其他属性
  ...originalData,
  // 遍历每个地区对象
  results: originalData.results.map(region => ({
    // 保留地区的其他属性(如iso_3166_1)
    ...region,
    // 过滤release_dates中certification不为空的项(trim处理避免空格干扰)
    release_dates: region.release_dates.filter(date => date.certification.trim() !== '')
  }))
};

处理后结果

{
  "id": 603692,
  "results": [
    {
      "iso_3166_1": "GB",
      "release_dates": [
        {
          "certification": "15",
          "descriptors": [],
          "iso_639_1": "",
          "note": "",
          "release_date": "2023-03-24T00:00:00.000Z",
          "type": 3
        }
      ]
    },
    {
      "iso_3166_1": "US",
      "release_dates": [
        {
          "certification": "R",
          "descriptors": [],
          "iso_639_1": "",
          "note": "",
          "release_date": "2023-03-24T00:00:00.000Z",
          "type": 3
        }
      ]
    }
  ]
}

关键说明

  • 用map遍历results数组,确保每个地区对象都被处理,同时保留原结构
  • 对每个地区的release_dates用filter筛选,trim()是为了排除仅含空格的无效认证
  • 使用扩展运算符(...)复制原对象属性,避免直接修改原始数据(符合React的不可变数据原则)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 23:10:33