按照分组名称和子项对对象数组进行分组。
创始人
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",
//          

相关内容

热门资讯

玩家必看教程"wpk... 玩家必看教程"wpk德州局怎么透视"开挂(透视)wpk刷入池率脚本(有挂总结);简单的透视挂控制,仅...
科技揭秘"桂林字牌黑... 科技揭秘"桂林字牌黑科技"开挂(透视)aapoker辅助怎么用(有挂技巧);是一种具有地方特色的麻将...
揭秘真相"友乐广西南... 揭秘真相"友乐广西南宁透视"开挂(透视)wpk德州局透视(果真有挂);致您一封信;亲爱玩家:《透视挂...
玩家必看教程"朋朋政... 玩家必看教程"朋朋政和辅助器免费在哪里"开挂(透视)wepoker有没有辅助(有挂规律);朋朋政和辅...
盘点几款"海盗来了辅... 【福星临门,好运相随】;盘点几款"海盗来了辅助脚本"开挂(透视)wepoker透视底牌脚本(有挂教学...
透视新版"蜜瓜大厅小... 透视新版"蜜瓜大厅小程序辅助"开挂(透视)如何下载德普之星辅助软件(讲解有挂),蜜瓜大厅小程序辅助是...
揭秘真相"欢聚水鱼辅... 揭秘真相"欢聚水鱼辅助插件"开挂(透视)wepoker私人局怎么玩(有挂细节);最新版2026是一款...
科技新动态"微乐小程... 【福星临门,好运相随】;科技新动态"微乐小程序黑科技"开挂(透视)hhpoker有后台操作吗(有挂技...
透视最新"湖北逍遥卡... 【福星临门,好运相随】;透视最新"湖北逍遥卡五星辅助"开挂(透视)pokemmo脚本手机版(存在有挂...
揭秘"陕麻圈黑科技&... 揭秘"陕麻圈黑科技"开挂(透视)wepoker正确养号方法(有挂技术);陕麻圈黑科技是一款益智类棋牌...