{% assign leg = {{Predept.legs}} %}
{% for legs in {{leg}} %}
{% if {{leg[forloop.index0].direction}} == 'R' %}
{{leg[forloop.index0].arr_station_name}}
{%endif %}
{%endfor %}
我想将此for循环的输出放入另一个数组。有什么想法吗?
答案 0 :(得分:2)
欢迎,Jeet!
首先,您永远不会嵌套Liquid标签。您的基本循环应如下所示:
split
现在,在Liquid中,您只能通过对字符串使用capture
过滤器来创建新数组。我们还可以通过使用{% capture leg_data %}
{% assign legs = Predept.legs %}
{% for leg in legs %}
{% if leg.direction == 'R' %}
{% comment %}Output delimiter if needed {% endcomment %}
{% unless found_one %},{% endunless %}
{% assign found_one = true %}
{{ leg.arr_station_name }}
{% endif %}
{% endfor %}
{% endcapture %}
{% assign leg_data = leg_data | split: ',' %}
标签包装其他命令来创建字符串。放在一起,我们得到类似的东西:
arr_station_name
这将为我们提供所需腿的所有capture
数组,但是您可能会注意到-
也在其中捕获了所有空白。如果需要阻止它进入漂亮的小数组,可以在标签上使用带空格的{%- capture leg_data -%}
{%- assign legs = Predept.legs -%}
{%- for leg in legs -%}
{%- if leg.direction == 'R' -%}
{%- comment -%}Output delimiter if needed {%- endcomment -%}
{%- unless found_one -%},{%- endunless -%}
{%- assign found_one = true -%}
{{- leg.arr_station_name -}}
{%- endif -%}
{%- endfor -%}
{%- endcapture -%}
{%- assign leg_data = leg_data | split: ',' -%}
字符来控制它,给出:
'<li> somejsvar </li>'
希望这会有所帮助!