Рубрики
Uncategorized

Как отфильтровать значения в одном массиве, как показано на следующем рисунке и коде

Автор оригинала: David Wong.

проблема

Как отфильтровать значения в одном массиве, как показано на следующем рисунке, и в одном массиве есть все данные, в другом массиве есть только часть данных. Если у вас есть все массивы, вам нужно отфильтровать их в соответствии с массивами, в которых есть некоторые данные

Код

Массив со всеми данными

let allRoutes = [
        {
          path: '/',
          name: 'home',
          component: () => import('@/views/Home.vue'),
          children: [
            {
              path: '/role',
              name: 'role',
              meta: {
                Tile: 'role'
              },
              component: () => import('@/views/role/index.vue'),
              redirect: '/role/list',
              children: [
                {
                  path: 'create',
                  name: 'roleCreate',
                  meta: {
                    Tile: 'create role'
                  },
                  component: () => import('@/views/role/create.vue')
                },
                {
                  path: 'list',
                  name: 'roleList',
                  meta: {
                    Tile: 'role list'
                  },
                  component: () => import('@/views/role/list.vue')
                },
                {
                  path: 'update',
                  name: 'roleUpdate',
                  meta: {
                    Tile: 'modify role'
                  },
                  component: () => import('@/views/role/update.vue')
                }
              ]
            },
            {
              path: '/adminUser',
              name: 'adminUser',
              meta: {
                Tile: 'administrator'
              },
              component: () => import('@/views/adminUser/index.vue'),
              children: [
                {
                  path: 'create',
                  name: 'adminUserCreate',
                  meta: {
                    Tile: 'create administrator'
                  },
                  component: () => import('@/views/adminUser/create.vue')
                },
                {
                  path: 'list',
                  name: 'adminUserList',
                  meta: {
                    Tile: 'administrator list'
                  },
                  component: () => import('@/views/adminUser/list.vue')
                },
                {
                  path: 'update',
                  name: 'adminUserUpdate',
                  meta: {
                    Tile: 'modify administrator'
                  },
                  component: () => import('@/views/adminUser/update.vue')
                }
              ]
            }
          ]
        },
        {
          path: '*',
          name: '404',
          component: () => import('@/views/404.vue')
        }
      ]

Массив с частичными данными

По сравнению с массивом всех данных, больше нет имя: "роль Создать",

      let someRoutes = [
        {
          name: 'home',
          children: [
            {
              name: 'role',
              children: [{ name: 'roleList' }, { name: 'roleUpdate' }]
            },
            {
              name: 'adminUser',
              children: [
                { name: 'adminUserCreate' },
                { name: 'adminUserList' },
                { name: 'adminUserUpdate' }
              ]
            }
          ]
        }
      ]

Оригинал: “https://developpaper.com/how-to-filter-the-values-in-one-array-as-shown-in-the-following-figure-and-code/”