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

如何使用map/forEach从对象数组的键值对生成指定结构新数组

实现方案

方法1:使用map方法(更推荐)

map方法会直接返回新数组,不需要额外声明变量存储结果,代码更简洁:

const originalArr = [
  {
    "name": "Dentist Specialist",
    "category": "Roles",
    "path": "cde"
  },
  {
    "name": "Root Canal Therapy",
    "category": "Procedures",
    "path": "abc"
  },
  {
    "name": "Live Course",
    "category": "Course Type",
    "path": "mfg"
  }
];

const newArr = originalArr.map(item => {
  return {
    [item.category]: item.name
  };
});

这里用了计算属性名的语法,直接把category的属性值作为新对象的键,对应值取name属性即可,自动忽略其他属性。


方法2:使用forEach方法

如果需要用forEach实现,需要先声明空数组存储生成的新对象:

const originalArr = [/* 原始数组内容同上 */];
const newArr = [];
originalArr.forEach(item => {
  newArr.push({
    [item.category]: item.name
  });
});

两种方法运行后得到的newArr就是目标结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 15:24:03