如何根据数组内对象属性的true / false值过滤数组

时间:2017-12-06 15:36:44

标签: arrays filter liquid

我正在尝试使用包含人员列表的数组,并从中创建一个新数组。我希望新数组只包含那些拥有" true"对于他们的一个属性。所以它看起来像这样。

{% for adult in household.adults %}
    {% unless adult.inactive == true %}
        {% assign active_adults = adult %}
    {% endunless %}
{% endfor %}

所以我基本上采用一个数组,过滤掉某个属性设置为True的对象,并仅用这些对象创建一个新数组。我希望这是有道理的。谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

我不是专家,但就我所知,你可以在Ruby中做类似的事情来过滤数组:

household.adults.select {|adult| adult.inactive != true}

并返回一个只包含匹配元素的新数组。

我认为你可以在Liquid模板语言中使用Ruby吗?

链接到API文档:https://ruby-doc.org/core-2.2.0/Array.html#method-i-select