Циклическая обработка
Циклическая обработка используется для многократного отображения данных из массивов или объектов. Для этого определяются начальные и конечные маркеры цикла, которые указывают на повторяющееся содержимое. Ниже мы рассмотрим несколько распространенных сценариев.
Перебор массивов
1. Описание синтаксиса
- Используйте тег
{d.array[i].property}для определения текущего элемента цикла, а{d.array[i+1].property}— для указания следующего элемента, чтобы обозначить область цикла. - Во время цикла первая строка (часть
[i]) автоматически используется как шаблон для повторения; вам нужно лишь один раз указать пример цикла в шаблоне.
Пример формата синтаксиса:
2. Пример: Простой цикл по массиву
Данные
Шаблон
Результат
3. Пример: Цикл по вложенному массиву
Подходит для случаев, когда массив содержит вложенные массивы; уровень вложенности может быть неограниченным.
Данные
Шаблон
Результат
4. Пример: Двунаправленный цикл (расширенная функция, v4.8.0+)
Двунаправленные циклы позволяют одновременно выполнять итерации как по строкам, так и по столбцам. Это удобно для создания сравнительных таблиц и других сложных макетов (обратите внимание: в настоящее время некоторые форматы официально поддерживаются только в шаблонах DOCX, HTML и MD).
Данные
Шаблон
Результат
5. Пример: Доступ к значениям итератора цикла (v4.0.0+)
Внутри цикла вы можете напрямую получить доступ к индексу текущей итерации, что помогает удовлетворить особые требования к форматированию.
Пример шаблона
Примечание: Количество точек указывает на уровень индекса (например,
.iобозначает тек ущий уровень, а..i— предыдущий). В настоящее время существует проблема с обратным порядком; пожалуйста, обратитесь к официальной документации для получения подробной информации.
Перебор объектов
1. Описание синтаксиса
- Для свойств объекта используйте
.attдля получения имени свойства и.valдля получения его значения. - При итерации каждый элемент свойства обходится по очереди.
Пример формата синтаксиса:
2. Пример: Перебор свойств объекта
Данные
Шаблон
Результат
Сортировка
Используя функцию сортировки, вы можете напрямую сортировать данные массива в шаблоне.
1. Описание синтаксиса: Сортировка по возрастанию
- Используйте атрибут в теге цикла в качестве критерия сортировки. Формат синтаксиса:
- Если требуется несколько критериев сортировки, разделите атрибуты запятыми внутри квадратных скобок.
2. Пример: Сортировка по числовому атрибуту
Данные
Шаблон
Результат
3. Пример: Сортировка по нескольким атрибутам
Данные
Шаблон
Результат
Фильтрация
Фильтрация используется для отбора строк в цикле на основе определенных условий.
1. Описание синтаксиса: Фильтрация по числовому значению
- Добавьте условия в тег цикла (например,
age > 19). Формат синтаксиса:
2. Пример: Фильтрация по числовому значению
Данные
Шаблон
Результат
3. Описание синтаксиса: Фильтрация по строковому значению
- Укажите строковые условия, используя одинарные кавычки. Пример формата:
4. Пример: Фильтрация по строковому значению
Данные
Шаблон
Результат
5. Описание синтаксиса: Фильтрация первых N элементов
- Вы можете использовать индекс цикла
iдля фильтрации первых N элементов. Пример синтаксиса:
6. Пример: Фильтрация первых двух элементов
Данные
Шаблон
Результат
7. Описание синтаксиса: Исключение последних N элементов
- Используйте отрицательный индекс
iдля обозначения элементов с конца. Например:{d.array[i=-1].property}получает последний элемент.{d.array[i, i!=-1].property}исключает последний элемент.
8. Пример: И сключение последнего и двух последних элементов
Данные
Шаблон
Результат
9. Описание синтаксиса: Интеллектуальная фильтрация
- Используя блоки интеллектуальных условий, вы можете скрыть целую строку на основе сложных условий. Пример формата:
10. Пример: Интеллектуальная фильтрация
Данные
Шаблон
Результат
(Примечание: Строки, содержащие «Falcon» в шаблоне, удаляются условием интеллектуальной фильтрации.)
Удаление дубликатов
1. Описание синтаксиса
- Используя пользовательский итератор, вы можете получить уникальные (неповторяющиеся) элементы на основе знач ения определенного свойства. Синтаксис аналогичен обычному циклу, но автоматически игнорирует повторяющиеся элементы.
Пример формата:

