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

JavaScript实现对象数组指定字段分组存入同对象新数组字段

JavaScript 对象数组字段提取归类实现方案

你要做的数组结构转换可以直接用数组原生方法实现,根据是否需要保留原始数据,有两种常用写法:


方案1:生成新数组(推荐,无副作用)

用Array.prototype.map做一对一映射,不会修改原始数组和原对象,避免数据污染:

const result = myArray.map(item => ({
  Name: item.Name,
  Details: [
    {
      Age: item.Age,
      Email: item.Email
    }
  ]
}))

运行后result就是你要的目标结构,原始myArray不会发生任何改动。


方案2:直接修改原数组

如果业务场景允许改动原始数据,可以用forEach遍历直接修改每一项:

myArray.forEach(item => {
  // 组装要放到Details里的字段
  const detail = {
    Age: item.Age,
    Email: item.Email
  }
  // 新增Details字段
  item.Details = [detail]
  // 删除原对象上已经归类的字段
  delete item.Age
  delete item.Email
})

运行后原始myArray就会直接变成你期望的结构。


输出验证

两种方案最终得到的数组结构完全匹配你的预期:

[
  { Name: "Alex", Details: [{ Age: "13", Email: " Alex @gmail.com" }] },
  { Name: "Eva",  Details: [{ Age: "24", Email: " Eva @gmail.com"  }] },
  { Name: "Adem", Details: [{ Age: "60", Email: " Adem @gmail.com" }] },
  { Name: "Jack", Details: [{ Age: "20", Email: " Jack @gmail.com" }] }
]

如果后续需要归类更多字段,只要在Details的内部对象里补充对应属性即可,整体逻辑不需要调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 17:48:21