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

相关内容

热门资讯

记者揭秘!,德扑之星的亮点,A... 本地部署 AI 黑科技工具迎来新版本,不用上传文件到云端就能完成德扑之星的亮点解析、 AI 处理、德...
科技介绍,德扑之星辅助开挂教程... 科技介绍,德扑之星辅助开挂教程,wpk真的有挂法子(竟然真的有辅助挂);近期一款 AI 黑科技工具火...
分辨真假,wepoker辅助软... 分辨真假,wepoker辅助软件怎么用,智星菠萝德州开挂破解举措(真是是真的有透视挂);近期一款 A...
最新通报,微扑克怎么看之前德州... 微扑克怎么看之前德州的牌AI 游戏攻略黑科技上线本地缓存功能,离线查阅能力开挂。提前下载对应游戏攻略...
黑科技教程,WePoKer辅助... 黑科技教程,WePoKer辅助透视软件挂,AApoker透视软件模板(好像真的是有辅助挂)是一款可以...
玩家爆料,微扑克发牌机制,We... 玩家爆料,微扑克发牌机制,WePoKer真的有透视吗绝活儿(好像有辅助挂)是一款可以让一直输的玩家,...
透牌教程,德扑之星技巧,AAp... 您好:德扑之星技巧这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别...
教程攻略,德扑之星插件视频,A... 很多人使用云端 AI 时,都担心德扑之星插件视频、内部资料上传带来隐私风险。这款本地运行的 AI 黑...
科技通报,德扑圈辅助软件有哪些... 您好,德扑圈辅助软件有哪些这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩...
玩家实测,AAPOKER辅助器... 您好:AAPOKER辅助器最新版更新内容介绍这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打...