Как правильно написать цикл в Jade?

В языке шаблонов Pug, который ранее назывался Jade, для создания циклов используется специальное ключевое слово each. Цикл each позволяет итерироваться по массиву или объекту и выполнять определенный блок кода для каждого элемента.

Синтаксис цикла each в Pug выглядит следующим образом:

each item in items
  //- блок кода, который будет выполняться для каждого элемента

Где item – это переменная, которая будет содержать текущий элемент массива или объекта, а items – это массив или объект, по которому мы хотим пройтись.

Пример использования цикла each в Pug:

ul
  each item in items
    li= item

В данном примере мы создаем неупорядоченный список (ul), а затем используем цикл each для итерации по элементам массива items. Внутри цикла мы создаем элемент списка (li) и выводим содержимое текущего элемента.

Если items – это массив ["apple", "banana", "orange"], результат будет следующим:

<ul>
  <li>apple</li>
  <li>banana</li>
  <li>orange</li>
</ul>

В цикле each также можно использовать индекс текущего элемента, добавив к each ключевое слово index:

ul
  each item, index in items
    li= index + ': ' + item

Здесь item – это значение элемента в массиве, а index – его индекс. Результат будет следующим:

<ul>
  <li>0: apple</li>
  <li>1: banana</li>
  <li>2: orange</li>
</ul>

Цикл each в Pug также может использоваться для итерации по объектам, например, для вывода свойств объекта:

ul
  each value, key in obj
    li= key + ': ' + value

В этом случае key – это ключ текущего свойства, а value – его значение.

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