Back to Twig

``reduce``

doc/filters/reduce.rst

3.24.0784 B
Original Source

reduce

The reduce filter iteratively reduces a sequence or a mapping to a single value using an arrow function, so as to reduce it to a single value. The arrow function receives the return value of the previous iteration and the current value and key of the sequence or mapping:

.. code-block:: twig

{% set numbers = [1, 2, 3] %}

{{ numbers|reduce((carry, value, key) => carry + value * key) }}
{# output 8 #}

The reduce filter takes an initial value as a second argument:

.. code-block:: twig

{{ numbers|reduce((carry, value, key) => carry + value * key, 10) }}
{# output 18 #}

Note that the arrow function has access to the current context.

Arguments

  • arrow: The arrow function
  • initial: The initial value