Spec-Zone.ru › Twig 3

filter

Фильтр filter фильтрует элементы последовательности или отображения с помощью стрелочной функции. Стрелочная функция получает значение последовательности или отображения:

{% set sizes = [34, 36, 38, 40, 42] %}

{{ sizes|filter(v => v > 38)|join(', ') }}
{# output 40, 42 #}

В сочетании с тегом for, он позволяет фильтровать элементы для итерации:

{% for v in sizes|filter(v => v > 38) -%}
{{ v }}
{% endfor %}
{# output 40 42 #}

Он также работает с отображениями:

{% set sizes = {
    xs: 34,
    s:  36,
    m:  38,
    l:  40,
    xl: 42,
} %}

{% for k, v in sizes|filter(v => v > 38) -%}
{{ k }} = {{ v }}
{% endfor %}
{# output l = 40 xl = 42 #}

Стрелочная функция также получает ключ в качестве второго аргумента:

{% for k, v in sizes|filter((v, k) => v > 38 and k != "xl") -%}
{{ k }} = {{ v }}
{% endfor %}
{# output l = 40 #}

Обратите внимание, что стрелочная функция имеет доступ к текущему контексту.

Аргументы

  • array: Последовательность или отображение
  • arrow: Стрелочная функция
« escape | first »

© 2009–2018 by the Twig Team
Licensed under the three clause BSD license.
The Twig logo is © 2010–2020 Symfony
https://twig.symfony.com/doc/3.x/filters/filter.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API