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

如何拆分含嵌套Fields的对象数组为保留GroupName的两个数组

拆分分组对象数组并保留分组名称

你需要拆分groupItems数组为两个新数组,分别保留每组中Columns为null和非null的Fields元素,同时保留对应的GroupName。之前的代码只返回了过滤后的Fields数组,丢失了分组信息,原因是你在map里直接返回了filter的结果,没有保留原对象的GroupName。

解决方案

通过map遍历原数组时,构造包含GroupName和过滤后Fields的新对象即可:

生成Array_One(保留Columns为null的Fields)

const Array_One = groupItems.map(item => ({
  GroupName: item.GroupName,
  Fields: item.Fields.filter(field => field.Columns === null)
}));

生成Array_Two(保留Columns非null的Fields)

const Array_Two = groupItems.map(item => ({
  GroupName: item.GroupName,
  Fields: item.Fields.filter(field => field.Columns !== null)
}));

可选优化:移除空Fields的分组

如果某些分组过滤后Fields为空数组,你可以额外添加filter步骤移除这些分组:

// 处理Array_One
const Array_One = groupItems
  .map(item => ({
    GroupName: item.GroupName,
    Fields: item.Fields.filter(field => field.Columns === null)
  }))
  .filter(group => group.Fields.length > 0);

// 处理Array_Two
const Array_Two = groupItems
  .map(item => ({
    GroupName: item.GroupName,
    Fields: item.Fields.filter(field => field.Columns !== null)
  }))
  .filter(group => group.Fields.length > 0);

这样就能得到你期望的两个数组结构,每个元素都保留了对应的GroupName和过滤后的Fields集合。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 04:10:20