mirror of
https://github.com/twigphp/Twig.git
synced 2026-11-01 00:25:57 +00:00
bb6382c1bb
remove note, better argument for example reduce doesn't use array_reduce anymore https://github.com/twigphp/Twig/issues/3802
30 lines
785 B
ReStructuredText
30 lines
785 B
ReStructuredText
``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
|