Фильтры массивов изменяют вывод массивов.
join
Объединяет элементы массива с символом, переданным в качестве параметра.
Результатом является одна строка.
Пример:
Copy {{ fields | join: ', ' }}
Вывод
Copy Значение доп. поля 1, Значение доп. поля 2
Для многомерных массивов вторым параметром нужно указать значение массива, которое нужно выбрать.
Пример:
Copy {{ attributes | join: ", " , "name" }}
Суммы отгрузок: {{ demands | join: ", " , "sum" }}
Номера платежей: {{ payments | join: ", " , "name" }}
Вывод
Copy Доп. поле1, Доп. поле2, Доп. поле 3
Суммы отгрузок: 1000, 2000, 3000
Номера платежей: 0001, 0002, 0003
first
Возвращает первый элемент массива.
Пример:
Вывод
Для многомерных массивов вторым параметром нужно указать значение массива, которое нужно выбрать.
Copy {{ attributes | first: "value" }}
Сумма первой отгрузки: {{ demands | first: "sum" }}
Номер первого платежа: {{ payments | first: "name" }}
Copy Значение доп. поля 1
Сумма первой отгрузки: 1000
Номер первого платежа: 0001
Вы можете использовать фильтр first
через точку .
после массива, когда вам нужно употребить его внутри тега
Copy { % if attributes . first . name == "Накладная" % }
{{ attributes . first . value }}
{ % endif % }
{{ fields . first }}
{{ attributes . first . name }}
{{ demands . first . sum }}
last
Возвращает последний элемент массива.
Пример:
Вывод
Для многомерных массивов вторым параметром нужно указать значение массива, которое нужно выбрать.
Copy {{ attributes | last: "value" }}
Сумма последней отгрузки: {{ demands | last: "sum" }}
Номер последего платежа: {{ payments | last: "name" }}
Copy Значение доп. поля 2
Сумма последней отгрузки: 1000
Номер последнего платежа: 0003
Вы можете использовать фильтр last
через точку .
после массива, когда вам нужно употребить его внутри тега
Copy { % if attributes . last . name == "Накладная" % }
{{ attributes . last . value }}
{ % endif % }
{{ fields . last }}
{{ attributes . last . name }}
{{ demands . last . sum }}
concat
Объединяет массив с другим массивом. Полученный массив содержит все элементы исходных массивов. concat
не удалит повторяющиеся записи из объединенного массива, если вы также не используете uniq
фильтр.
Пример:
Copy { % assign fruits = "apples, oranges, peaches, tomatoes" | split: ", " % }
{ % assign vegetables = "broccoli, carrots, lettuce, tomatoes" | split: ", " % }
{ % assign plants = fruits | concat: vegetables % }
{{ plants | join: ", " }}
Вывод
Copy apples, oranges, peaches, tomatoes, broccoli, carrots, lettuce, tomatoes
Вы можете объединить несколько concat
фильтров для объединения более двух массивов:
Пример:
Copy { % assign operations = demands | concat: payments | concat: invoicesOut % }
Операции:
{ % for oper in operations % }
{{ oper . meta . type}}: {{ oper . name }} - {{oper . sum }} - {{oper . moment }} ,
{ % endfor% }
Вывод
Copy Операции:
demand: 00005 - 1000 - 07.04.2020,
cashin: 00001 - 0 - 16.03.2020,
paymentin: 00001 - 2000 - 16.03.2020,
invoiceout: 00002 - 7000 - 18.03.2020,
index
Возвращает элемент в указанном месте индекса в массиве. Обратите внимание, что нумерация массивов начинается с нуля, поэтому на первый элемент массива ссылаются с [0]
.
Пример:
Copy {{ attributes[ 2 ] . name }}
Вывод
map
Принимает атрибут элемента массива в качестве параметра и создает массив из значения каждого элемента массива.
Пример:
Copy { % assign demands_sum = demands | map: 'sum' % }
{ % for sum in demands_sum % }
{ % assign total_sum = total_sum | plus: sum % }
{ % endfor % }
Всего отгрузок на сумму: {{ total_sum }}
Вывод
Copy Всего отгрузок на сумму: 1000
reverse
Меняет порядок элементов в массиве.
Пример:
Copy {% assign my_array = "apples, oranges, peaches, plums" | split: ", " %}
{{ my_array | reverse | join: ", " }}
Вывод
Copy plums, peaches, oranges, apples
size
Возвращает размер строки (количество символов) или массива (количество элементов).
Пример:
Copy {{ 'The quick brown fox jumps over a lazy dog.' | size }}
Вывод
sort
Сортирует элементы массива по заданному атрибуту элемента в массиве.копия
Copy { % assign products = positions | sort: 'price' % }
{ % for product in products % }
{{ product . price }}
{ % endfor % }
Порядок отсортированного массива чувствителен к регистру.
uniq
Удаляет любые повторяющиеся экземпляры элементов в массиве.
Пример:
Copy {% assign fruits = "orange apple banana apple orange" %}
{{ fruits | split: ' ' | uniq | join: ' ' }}
Вывод