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

如何将嵌套对象数组转换为带指定键名的非嵌套对象数组

转换实现代码

你可以用JavaScript数组的reduce方法快速完成转换,逻辑是先把每个顶层对象的department映射为name、补全空的description字段,再和自身的units子数组合并入结果集即可:

const convert = (raw) => {
  return raw.reduce((acc, cur) => {
    // 构造顶层条目
    const topEntry = {
      name: cur.department,
      total: cur.total,
      planned: cur.planned,
      description: ''
    }
    // 合并顶层条目 + 子units所有条目
    return acc.concat(topEntry, cur.units)
  }, [])
}

// 测试调用
const originalData = [{
  department: 'IT', 
  total: 7, 
  planned: 5, 
  units: [
    {name: 'HR', total: 30, planned: 5, description: 'HR Admin'},
    {name: 'Sales', total: 4, planned: 9, description: 'Sales Admin'}
  ]
}]
const result = convert(originalData)
console.log(result)

如果实际场景中存在更深层级的嵌套结构,只需要额外加递归逻辑判断子项是否存在units字段,重复调用转换逻辑即可适配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 07:36:03