gmarche/vendor/twig/twig/doc/filters/reduce.rst

33 lines
822 B
ReStructuredText

``reduce``
==========
.. versionadded:: 1.41
The ``reduce`` filter was added in Twig 1.41 and 2.10.
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 of the sequence or mapping:
.. code-block:: twig
{% set numbers = [1, 2, 3] %}
{{ numbers|reduce((carry, v) => carry + v) }}
{# output 6 #}
The ``reduce`` filter takes an ``initial`` value as a second argument:
.. code-block:: twig
{{ numbers|reduce((carry, v) => carry + v, 10) }}
{# output 16 #}
Note that the arrow function has access to the current context.
Arguments
---------
* ``arrow``: The arrow function
* ``initial``: The initial value