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

如何将API响应中嵌套company对象的属性提取到主对象层级

高效实现方案

有性能最优、写法简洁的实现方式,两种常见场景的写法如下:

不修改原数组/原对象(无副作用,推荐绝大多数场景使用)

利用ES6解构赋值和展开运算符,时间复杂度为O(n),n为数组长度,不会改动API返回的原始数据,避免影响后续逻辑:

// rawData 为API返回的原始对象数组
const processedData = rawData.map(({ company, ...rest }) => ({
  ...rest,
  ...company
}))

直接修改原数组(性能更高,适合数据量极大的场景)

如果允许修改原始返回结果,可以直接遍历修改,省去生成新数组和新对象的开销:

rawData.forEach(item => {
  // 将company属性全部合并到主对象
  Object.assign(item, item.company)
  // 移除原嵌套的company字段
  delete item.company
})

注意事项

如果外层主对象和嵌套的company对象存在重名属性,上述默认写法会优先保留company内的属性值。如果需要外层主对象属性优先级更高,调整展开顺序即可,比如第一种写法调整为:

const processedData = rawData.map(({ company, ...rest }) => ({
  ...company,
  ...rest
}))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 01:36:06