按照父级名称及其子级名称排序查询
创始人
2024-08-24 01:00:11
0

假设有如下数据结构:

[
  {
    "id": 1,
    "name": "Parent A",
    "children": [
      {
        "id": 2,
        "name": "Child B"
      },
      {
        "id": 3,
        "name": "Child A"
      }
    ]
  },
  {
    "id": 4,
    "name": "Parent C",
    "children": [
      {
        "id": 5,
        "name": "Child A"
      },
      {
        "id": 6,
        "name": "Child C"
      }
    ]
  }
]

可以使用以下代码实现按照父级名称及其子级名称排序查询:

const data = [
  {
    "id": 1,
    "name": "Parent A",
    "children": [
      {
        "id": 2,
        "name": "Child B"
      },
      {
        "id": 3,
        "name": "Child A"
      }
    ]
  },
  {
    "id": 4,
    "name": "Parent C",
    "children": [
      {
        "id": 5,
        "name": "Child A"
      },
      {
        "id": 6,
        "name": "Child C"
      }
    ]
  }
];

// 将数据展开为 [{ id, name, parent }, { id, name, parent }] 的形式
const flattenData = data.flatMap(parent => [
  { id: parent.id, name: parent.name, parent: null },
  ...parent.children.map(child => ({ id: child.id, name: child.name, parent: parent.id }))
]);

// 按照父级名称及其子级名称排序查询
const sortedData = flattenData.sort((a, b) => {
  const parentA = flattenData.find(item => item.id === a.parent);
  const parentB = flattenData.find(item => item.id === b.parent);

  if (parentA === parentB) {
    return a.name.localeCompare(b.name);
  }

  return parentA.name.localeCompare(parentB.name);
});

console.log(sorted

相关内容

热门资讯

第9分钟外挂!天胡辅助脚本,掌... 第9分钟外挂!天胡辅助脚本,掌中乐游戏辅助工具,安装教程(有挂细节)-哔哩哔哩1、玩家可以在掌中乐游...
第一分钟详情!掌中乐游戏辅助器... 第一分钟详情!掌中乐游戏辅助器,浙江宝宝游戏辅助器是真的嘛(确实是有挂)-哔哩哔哩1、浙江宝宝游戏辅...
第八分钟外挂!微信牵手跑的快辅... 第八分钟外挂!微信牵手跑的快辅助,约战平台辅助,总结教程(有挂教程)-哔哩哔哩1、微信牵手跑的快辅助...
七分钟解密!牛总管一定要牛辅助... 七分钟解密!牛总管一定要牛辅助,衢州都莱辅助器下载地址(一直是真的挂)-哔哩哔哩运衢州都莱辅助器下载...
1分钟外挂!来来拼十软件脚本,... 1分钟外挂!来来拼十软件脚本,欢乐达人破解器,线上教程(有挂分享)-哔哩哔哩1、起透看视 来来拼十软...
一分钟总结!威信茶馆透视挂,欢... 一分钟总结!威信茶馆透视挂,欢乐联盟免费辅助(切实存在有挂)-哔哩哔哩1、每一步都需要思考,不同水平...
第6分钟外挂!微信边锋小程序辅... 第6分钟外挂!微信边锋小程序辅助器免费,飞驰娱乐科技软件,玩家教程(有挂规律)-哔哩哔哩1、首先打开...
第2分钟详细!小程序微乐游戏辅... 第2分钟详细!小程序微乐游戏辅助器,蜜瓜大厅辅助免费下载(总是有挂)-哔哩哔哩蜜瓜大厅辅助免费下载软...
第7分钟外挂!指尖四川小程序破... 第7分钟外挂!指尖四川小程序破解器,福建兄弟13水破解器,介绍教程(真是有挂)-哔哩哔哩1、任何指尖...
一分钟了解!创思维激k辅助器,... 一分钟了解!创思维激k辅助器,赣牌圈辅助器视频(一贯有挂)-哔哩哔哩1、赣牌圈辅助器视频机器人多个强...