按照父级名称及其子级名称排序查询
创始人
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

相关内容

热门资讯

第十分钟科普!阿拉斗牌脚本,杭... 第十分钟科普!阿拉斗牌脚本,杭州都莱辅助软件(竟然是真的挂)-哔哩哔哩1、完成杭州都莱辅助软件的残局...
3分钟普及!掌中乐游戏修改器,... 3分钟普及!掌中乐游戏修改器,福建天天开心辅助器是真的吗(真是真的是有挂)-哔哩哔哩1、玩家可以在福...
7分钟普及!福建天天开心辅助软... 7分钟普及!福建天天开心辅助软件大全,友友联盟免费辅助器(一直存在有挂)-哔哩哔哩福建天天开心辅助软...
第3分钟外挂!新九哥辅助,拱趴... 第3分钟外挂!新九哥辅助,拱趴大菠萝辅助(竟然真的是有挂)-哔哩哔哩1、全新机制【拱趴大菠萝辅助软件...
四分钟解迷!开心泉州小程序辅助... 四分钟解迷!开心泉州小程序辅助器,新九哥智能辅助app(好像真的是有挂)-哔哩哔哩1、下载好开心泉州...
第1分钟揭幕!雀友会潮汕麻将开... 第1分钟揭幕!雀友会潮汕麻将开挂,海盗来了辅助脚本(原来存在有挂)-哔哩哔哩1、进入到雀友会潮汕麻将...
4分钟关于!悠悠互娱辅助,天天... 4分钟关于!悠悠互娱辅助,天天贵阳辅助插件(确实真的是有挂)-哔哩哔哩1、天天贵阳辅助插件系统规律教...
六分钟教你!wepkerplu... 六分钟教你!wepkerplus辅助,福建天天开心攻略(总是有挂)-哔哩哔哩六分钟教你!wepker...
第十分钟揭露!潮汕汇app透视... 第十分钟揭露!潮汕汇app透视软件,途游手游辅助(原来是有挂)-哔哩哔哩1、让任何用户在无需潮汕汇a...
第三分钟了解!开心十三张有没有... 第三分钟了解!开心十三张有没有挂,椰子大厅辅助脚本(切实真的是有挂)-哔哩哔哩1、开心十三张有没有挂...