按照分组名称和子项对对象数组进行分组。
创始人
2024-08-24 00:00:42
0

假设有一个对象数组,每个对象包含一个分组名称和各个子项,要将这些对象按照分组名称和子项进行分组,可以使用reduce和对象的key来实现:

const data = [
  { group: 'A', children: ['a1', 'a2', 'a3'] },
  { group: 'B', children: ['b1', 'b2', 'b3'] },
  { group: 'A', children: ['a4', 'a5'] },
  { group: 'C', children: ['c1', 'c2', 'c3'] },
  { group: 'B', children: ['b4', 'b5', 'b6'] },
];

const result = data.reduce((acc, item) => {
  // 如果当前分组名称不存在,则添加该分组
  if (!acc[item.group]) {
    acc[item.group] = {};
  }
  
  // 将当前子项加入对应的分组中
  item.children.forEach(child => {
    if (!acc[item.group][child]) {
      acc[item.group][child] = [];
    }
    acc[item.group][child].push(item);
  });
  
  return acc;
}, {});

console.log(result);

// 输出结果:
// {
//   "A": {
//     "a1": [
//       {
//         "group": "A",
//         "children": [
//           "a1",
//           "a2",
//           "a3"
//         ]
//       }
//     ],
//     "a2": [
//       {
//         "group": "A",
//         "children": [
//           "a1",
//           "a2",
//           "a3"
//         ]
//       }
//     ],
//     "a3": [
//       {
//         "group": "A",
//         "children": [
//           "a1",
//           "a2",
//           "a3"
//         ]
//       }
//     ],
//     "a4": [
//       {
//         "group": "A",
//         "children": [
//           "a4",
//           "a5"
//         ]
//       }
//     ],
//     "a5": [
//       {
//         "group": "A",
//         "children": [
//           "a4",
//           "a5"
//         ]
//       }
//     ]
//   },
//   "B": {
//     "b1": [
//       {
//         "group": "B",
//         "children": [
//           "b1",
//          

相关内容

热门资讯

围绕透视问题!aapoker辅... 围绕透视问题!aapoker辅助工具安全吗,淘宝买wepoker透视有用吗,操作教程(揭秘有挂)-哔...
为了进一步!pokemmo手机... 为了进一步!pokemmo手机版透视脚本(透视)一直真的是有挂(有挂秘笈开挂辅助工具)-哔哩哔哩1、...
现就发布提示!hhpoker破... 现就发布提示!hhpoker破解工具,wepokerh5破解,手册教程(有挂分享)-哔哩哔哩1、用户...
为切实保障!德普之星的辅助工具... 为切实保障!德普之星的辅助工具介绍(透视)其实确实有挂(讲解有挂开挂辅助安装)-哔哩哔哩1、每一步都...
今天上午!wejoker手机版... 今天上午!wejoker手机版透视脚本,newpoker怎么安装脚本,讲义教程(真是有挂)-哔哩哔哩...
据统计!hhpoker可以开挂... 据统计!hhpoker可以开挂吗(透视)一直真的有挂(有挂详细开挂辅助辅助器)-哔哩哔哩1、上手简单...
刚刚!约局吧德州真的存在透视吗... 刚刚!约局吧德州真的存在透视吗,pokemmo辅助工具,教材教程(今日头条)-哔哩哔哩1、约局吧德州...
据报道!哈糖大菠萝免费辅助器(... 据报道!哈糖大菠萝免费辅助器(透视)原来真的是有挂(有挂教学开挂辅助插件)-哔哩哔哩1、哈糖大菠萝免...
近日!wpk透视辅助下载,we... 近日!wpk透视辅助下载,wepoker透视脚本苹果版,机巧教程(真的有挂)-哔哩哔哩进入游戏-大厅...
来临!竞技联盟辅助(透视)原来... 来临!竞技联盟辅助(透视)原来真的是有挂(确实有挂开挂辅助平台)-哔哩哔哩1)竞技联盟辅助辅助挂:进...