compact

配列からすべての nil 値を削除します。

この例では、site.pages が Web サイトのコンテンツページの配列で、一部のページには 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