Как я могу отфильтровать элементы в два отдельных списка из одного массива, используя мопса? - PullRequest
1 голос
/ 05 мая 2019

Я пытаюсь создать pug mixin, который может обрабатывать различное форматирование в зависимости от длины сгенерированного списка.У меня есть возможность принимать неограниченные значения, и я могу создать один список без проблем.

Когда я пытаюсь отсортировать элементы по индексу, чтобы создать несколько списков, код либо генерирует новый <ul> длякаждый <li> или вообще ничего для более длинного форматирования списка.

Как это сделать, если длина массива элементов больше 5, он помещает первые 5 элементов в список 1, а остальныево втором списке?

код:

mixin panelList(...items)
  if items.length < 6
      ul.list-unstyled.col.col-12.col-lg-12.d-none.d-lg-inline
        each item in items
          li.list-item.my-lg-1= item
  else   
      each item in items    
         .row.row-12
           while index < 6 
             ul.list-unstyled.col.col-12.col-lg-6.offset-sm-4.offset-md-0.offset-lg-0.d-none.d-lg-inline
               li.list-item.my-lg-1= item
          while index > 5 
             ul.list-unstyled.col.col-12.col-lg-12.d-none.d-lg-inline
               li.list-item.my-lg-1= item
mixin panelList(...items)
  if items.length < 6
      ul.list-unstyled.col.col-12.col-lg-12.d-none.d-lg-inline
        each item in items
          li.list-item.my-lg-1= item
  else   
      each item in items
       .row.row-12
          while index < 6 
             ul.list-unstyled.col.col-12.col-lg-6.offset-sm-4.offset-md-0.offset-lg-0.d-none.d-lg-inline
               li.list-item.my-lg-1= item
          while index > 5 
             ul.list-unstyled.col.col-12.col-lg-12.d-none.d-lg-inline
               li.list-item.my-lg-1= item

реализовано с помощью:

+panelList("this", "is", "working", "great") отлично работает

проблема со списком типа:

+panelList("this", "is", "not", "working", "quite", "as", "intended", "yet")

Я пробовал сортировать по %, но он генерирует новый <ul> для каждого элемента.Я пытался использовать item.index и индекс.Я пытался использовать for и if вместо while до индекса <6. </p>

...