compact

從陣列中移除任何 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