хотите отобразить подменю с помощью массива show_menus - PullRequest
0 голосов
/ 04 июля 2019
  • хочу отобразить подменю с помощью массива show_menus.
  • Я работаю с массивом объектов javascript.
  • Массив show_menus является динамическим.
<script>
     var show_menus = ['sub_menu_2', 'sub_menu_3'];
            var items = [{
                label: 'menu1',
                items: [
                    { label: 'sub_menu_1', icon: 'fa-plus' },
                    { label: 'sub_menu_2', icon: 'fa-download' }
                ]
            },
            {
                label: 'menu2',
                items: [
                    { label: 'sub_menu_3', icon: 'fa-refresh' },
                    { label: 'sub_menu_4', icon: 'fa-repeat' }
                ]
            }];

            var my_menus = items.map(el => {
                return el.items;
            });

           var menues_two = my_menus.filter(word =>{

           });

</script>

1 Ответ

1 голос
/ 09 июля 2019

Я думаю, это то, что вы хотите. Но если это не так, то, вероятно, я неправильно понял вашу проблему.

var show_menus = ['sub_menu_2', 'sub_menu_3'];
var items = [{
    label: 'menu1',
    items: [{
        label: 'sub_menu_1',
        icon: 'fa-plus'
      },
      {
        label: 'sub_menu_2',
        icon: 'fa-download'
      }
    ]
  },
  {
    label: 'menu2',
    items: [{
        label: 'sub_menu_3',
        icon: 'fa-refresh'
      },
      {
        label: 'sub_menu_4',
        icon: 'fa-repeat'
      }
    ]
  }
];

var my_menus = items.map(el => {
  return el.items;
});
//console.log(my_menus);


var menues_two = [];

my_menus.forEach(word => {
  var men = word.filter(elm => {
    return show_menus.includes(elm['label']);
  });
  menues_two.push(men);
});

console.log(menues_two);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...