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

JavaScript中如何按首个元素合并数组并分组

按数组首元素分组的实现方案

原始数据

const rawData = [
  ['Brand', 'Workout', 12],
  ['Colour', 'Pink', 41],
  ['Fit', 'Regular', 238],
  ['Size', '10', 21],
  ['Type', 'T-Shirt', 139],
  ['Colour', 'Black', 71],
  ['Brand', 'Matalan', 13]
];

实现方法(推荐用reduce)

const groupedResult = rawData.reduce((acc, [category, key, value]) => {
  if (!acc[category]) {
    acc[category] = {};
  }
  acc[category][key] = value;
  return acc;
}, {});

// 输出结果即为目标结构
console.log(groupedResult);

逻辑说明

  • 用数组reduce方法遍历数据,初始累加器设为空对象
  • 解构每个子数组,直接提取分类名、键、值
  • 若当前分类在累加器中不存在,先初始化一个空对象
  • 将键值对存入对应分类的对象中,最终得到分组结果

传统for循环实现(适合新手理解)

const groupedResult = {};

for (const item of rawData) {
  const category = item[0];
  const key = item[1];
  const value = item[2];
  
  if (!groupedResult[category]) {
    groupedResult[category] = {};
  }
  groupedResult[category][key] = value;
}

console.log(groupedResult);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 04:50:40