compact
删除数组中的所有 nil
值。
例如,假定整个网站所有内容页面作为一个数组保存在 site.pages
变量中,其中某些页面被设置了 category
属性用于指定该页面的内容分类。如果我们利用 map
过滤器将所有页面的 category
属性保存到一个数组中,就会出现如果某个页面没有 category
属性,其在数组中的值就会是 nil
。
输入
{% assign site_categories = site.pages | map: 'category' %}
{% for category in site_categories %}
{{ category }}
{% endfor %}
输出
business
celebrities
lifestyle
sports
technology
在创建 site_categories
数组时,通过使用 compact
过滤器我们可以删除此数组中的所有 nil
值。
输入
{% assign site_categories = site.pages | map: 'category' | compact %}
{% for category in site_categories %}
{{ category }}
{% endfor %}
输出
business
celebrities
lifestyle
sports
technology