在javascript中过滤嵌套对象数组

我想对上面给定的数组进行排序,以便输出数组将是   如输出部分中所述。我已经尝试了一些给出的代码   下面。我正在使用javascript进行排序。在角度我正在使用   根据用户角色显示菜单。   我在Google上搜索了很多,但没有得到解决方案
this.items = [
      {
        label: 'Home', routerLink: ['Home']
      },
      {
        label: 'menu1',
        items: [
          {
            label: 'submenu1',
            routerLink: '/submenu1'
          },
          {
            label: 'submenu2'
            , routerLink: '/submenu2'
          },
          {
            label: 'submenu3',
            routerLink: ['/submenu3']
          }
        ]
      },
      {
        label: 'menu2',
        items: [
          {
            label: 'submenu5',
            routerLink: ['/submenu5']
          },
        ]
      },
      {
        label: 'menu3',
        items: [
          {
            label: 'submenu6',
            routerLink: ['/submenu6'],
          }
        ]
      },

    ];

输出:

this.items = [
      {
        label: 'Home', routerLink: ['Home']
      },
      {
        label: 'menu1',
        items: [
          {
            label: 'submenu1',
            routerLink: '/submenu1'
          }
        ]
      },
      {
        label: 'menu3',
        items: [
          {
            label: 'submenu6',
            routerLink: ['/submenu6'],
          }
        ]
      },

    ];

排序代码:

let filterArr = this.filteredArray
      .filter(x => x.label == "Home" && x.label == "menu3")
      .map(y => y.items.filter(z => z.label == 'submenu6'));
评论