Фильтры массивов
Фильтры массивов изменяют вывод массивов.

join

Объединяет элементы массива с символом, переданным в качестве параметра.
Результатом является одна строка.
Пример:
1
{{ fields | join: ', '}}
Copied!
Вывод
1
Значение доп. поля 1, Значение доп. поля 2
Copied!
Для многомерных массивов вторым параметром нужно указать значение массива, которое нужно выбрать.
Пример:
1
{{ attributes | join: ", ", "name" }}
2
3
Суммы отгрузок: {{ demands | join: ", ", "sum" }}
4
Номера платежей: {{ payments | join: ", ", "name" }}
Copied!
Вывод
1
Доп. поле1, Доп. поле2, Доп. поле 3
2
3
Суммы отгрузок: 1000, 2000, 3000
4
Номера платежей: 0001, 0002, 0003
Copied!

first

Возвращает первый элемент массива.
Пример:
1
{{ fields | first }}
Copied!
Вывод
1
Значение доп. поля 1
Copied!
Для многомерных массивов вторым параметром нужно указать значение массива, которое нужно выбрать.
1
{{ attributes | first: "value" }}
2
3
Сумма первой отгрузки: {{ demands | first: "sum" }}
4
Номер первого платежа: {{ payments | first: "name" }}
Copied!
1
Значение доп. поля 1
2
3
Сумма первой отгрузки: 1000
4
Номер первого платежа: 0001
Copied!
Вы можете использовать фильтр first через точку . после массива, когда вам нужно употребить его внутри тега
1
{% if attributes.first.name == "Накладная" %}
2
{{ attributes.first.value }}
3
{% endif %}
4
5
{{ fields.first }}
6
{{ attributes.first.name }}
7
{{ demands.first.sum }}
Copied!

last

Возвращает последний элемент массива.
Пример:
1
{{ fields | last }}
Copied!
Вывод
1
Значение доп. поля 2
Copied!
Для многомерных массивов вторым параметром нужно указать значение массива, которое нужно выбрать.
1
{{ attributes | last: "value" }}
2
3
Сумма последней отгрузки: {{ demands | last: "sum" }}
4
Номер последего платежа: {{ payments | last: "name" }}
Copied!
1
Значение доп. поля 2
2
3
Сумма последней отгрузки: 1000
4
Номер последнего платежа: 0003
Copied!
Вы можете использовать фильтр last через точку . после массива, когда вам нужно употребить его внутри тега
1
{% if attributes.last.name == "Накладная" %}
2
{{ attributes.last.value }}
3
{% endif %}
4
5
{{ fields.last }}
6
{{ attributes.last.name }}
7
{{ demands.last.sum }}
Copied!

concat

Объединяет массив с другим массивом. Полученный массив содержит все элементы исходных массивов. concatне удалит повторяющиеся записи из объединенного массива, если вы также не используете uniqфильтр.
Пример:
1
{% assign fruits = "apples, oranges, peaches, tomatoes" | split: ", " %}
2
{% assign vegetables = "broccoli, carrots, lettuce, tomatoes" | split: ", " %}
3
4
{% assign plants = fruits | concat: vegetables %}
5
6
{{ plants | join: ", " }}
Copied!
Вывод
1
apples, oranges, peaches, tomatoes, broccoli, carrots, lettuce, tomatoes
Copied!
Вы можете объединить несколько concatфильтров для объединения более двух массивов:
Пример:
1
{% assign operations = demands | concat: payments | concat: invoicesOut %}
2
3
Операции:
4
{% for oper in operations %}
5
6
{{ oper.meta.type}}: {{ oper.name }} - {{oper.sum }} - {{oper.moment }},
7
8
{% endfor%}
Copied!
Вывод
1
Операции:
2
demand: 00005 - 1000 - 07.04.2020,
3
cashin: 00001 - 0 - 16.03.2020,
4
paymentin: 00001 - 2000 - 16.03.2020,
5
invoiceout: 00002 - 7000 - 18.03.2020,
Copied!

index

Возвращает элемент в указанном месте индекса в массиве. Обратите внимание, что нумерация массивов начинается с нуля, поэтому на первый элемент массива ссылаются с [0].
Пример:
1
{{ attributes[2].name }}
Copied!
Вывод
1
Третье доп. поле
Copied!

map

Принимает атрибут элемента массива в качестве параметра и создает массив из значения каждого элемента массива.
Пример:
1
{% assign demands_sum = demands | map: 'sum' %}
2
3
{% for sum in demands_sum %}
4
{% assign total_sum = total_sum | plus: sum %}
5
{% endfor %}
6
7
Всего отгрузок на сумму: {{ total_sum }}
Copied!
Вывод
1
Всего отгрузок на сумму: 1000
Copied!

reverse

Меняет порядок элементов в массиве.
Пример:
1
{% assign my_array = "apples, oranges, peaches, plums" | split: ", " %}
2
3
{{ my_array | reverse | join: ", " }}
Copied!
Вывод
1
plums, peaches, oranges, apples
Copied!

size

Возвращает размер строки (количество символов) или массива (количество элементов).
Пример:
1
{{ 'The quick brown fox jumps over a lazy dog.' | size }}
Copied!
Вывод
1
42
Copied!

sort

Сортирует элементы массива по заданному атрибуту элемента в массиве.копия
1
{% assign products = positions | sort: 'price' %}
2
{% for product in products %}
3
{{ product.price }}
4
{% endfor %}
Copied!
Порядок отсортированного массива чувствителен к регистру.

uniq

Удаляет любые повторяющиеся экземпляры элементов в массиве.
Пример:
1
{% assign fruits = "orange apple banana apple orange" %}
2
{{ fruits | split: ' ' | uniq | join: ' ' }}
Copied!
Вывод
1
orange apple banana
Copied!
Last modified 1yr ago