find
3.11
find
过滤器在 Twig 3.11 中添加。
find
过滤器返回序列中与箭头函数匹配的第一个元素。箭头函数接收序列的值
1 2 3 4
{% set sizes = [34, 36, 38, 40, 42] %}
{{ sizes|find(v => v > 38) }}
{# output 40 #}
它也适用于映射
1 2 3 4 5 6 7 8 9 10 11 12
{% set sizes = {
xxs: 32,
xs: 34,
s: 36,
m: 38,
l: 40,
xl: 42,
} %}
{{ sizes|find(v => v > 38) }}
{# output 40 #}
箭头函数还会接收键作为第二个参数
1 2 3
{{ sizes|find((v, k) => 's' not in k) }}
{# output 38 #}
请注意,箭头函数可以访问当前上下文
1 2 3 4 5
{% set my_size = 39 %}
{{ sizes|find(v => v >= my_size) }}
{# output 40 #}
参数
array
: 序列或映射arrow
: 箭头函数