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

JavaScript如何按指定key对数组对象分组并生成目标结构?

JavaScript 按指定字段分组数组实现方案

你可以通过遍历数组 + 临时映射对象的方式实现需求,这是性能最优的方案之一,实现代码如下:

// 原数组
const originArr = [
  {section: 'group_date', category: 'Support', category_value: '2021-10-11', datavalue: '2'},
  {section: 'group_date', category: 'Support', category_value: '2021-10-20', datavalue: '3'},
  {section: 'group_date', category: 'Support', category_value: '2021-11-02', datavalue: '1'},
  {section: 'group_date', category: 'Dev', category_value: '2021-11-02', datavalue: '1'},
  {section: 'group_date', category: 'Dev', category_value: '2021-11-03', datavalue: '1'}
];

// 临时映射对象,key为category值,value为对应分组的二维数组
const groupMap = {};
originArr.forEach(item => {
  const { category, category_value, datavalue } = item;
  // 当前分类不存在时先初始化
  if (!groupMap[category]) {
    groupMap[category] = [];
  }
  // 把对应字段值组成数组存入分组
  groupMap[category].push([category_value, datavalue]);
});

// 将映射对象转换为目标格式的数组
const result = Object.entries(groupMap).map(([category, value]) => ({
  category,
  value
}));

console.log(result);

运行代码后输出的result就是你需要的目标格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 11:36:07