compact 移除数组中的所有 nil 值

移除数组中的所有 nil 值。

在下面的示例中,假设 site.pages 是一个包含网站内容页面的数组,其中有些页面带有一个名为 category 的属性,用于指定它们的内容分类。
如果我们用 map 将这些分类提取成一个数组,那么如果某些页面没有 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