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

如何使用reduce和剩余运算符将数组转换为指定结构的对象

你现有实现的问题在于直接将完整的原对象赋值给了对应key的属性值,因此会保留name字段,不符合要求。

最优实现方案

利用对象解构+剩余运算符提取排除name之外的属性即可:

const output = data.reduce((acc, { name, ...rest }) => {
  acc[name] = rest;
  return acc;
}, {});

代码说明

  • 遍历每个数组元素时,先通过对象解构把name字段单独拆分出来,剩余的job、address等属性通过剩余运算符...rest整合为一个不含name的新对象
  • 直接修改累加器acc赋值再返回,相比每次展开累加器生成新对象的写法性能更高,尤其适合处理大数组的场景。

如果你需要和示例输出一致、统一所有属性值为固定的{job: "software", address: "GGN"},可以直接写死值:

const output = data.reduce((acc, { name }) => {
  acc[name] = { job: "software", address: "GGN" };
  return acc;
}, {});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 20:45:04