reduce
reduce
过滤器使用箭头函数迭代地将序列或映射缩减为单个值,从而将其缩减为单个值。箭头函数接收前一次迭代的返回值以及序列或映射的当前值和键
1 2 3 4
{% set numbers = [1, 2, 3] %}
{{ numbers|reduce((carry, v, k) => carry + v * k) }}
{# output 8 #}
reduce
过滤器接受一个 initial
值作为第二个参数
1 2
{{ numbers|reduce((carry, v, k) => carry + v * k, 10) }}
{# output 18 #}
请注意,箭头函数可以访问当前上下文。