HUGO
Menu
GitHub 89803 stars Mastodon

collections.Union

Returns a slice containing the unique elements from two given slices.
Syntax
collections.Union SLICE1 SLICE2
Returns
[]any
Alias
union

Basic usage

Use the union function to combine two slices, removing duplicate elements:

{{ union (slice 1 2 3) (slice 3 4 5) }} → [1 2 3 4 5]
{{ union (slice 1 2 3) nil }}           → [1 2 3]
{{ union nil (slice 1 2 3) }}           → [1 2 3]
{{ union nil nil }}                     → []

OR filter in where query

This is also useful as OR filters when combined with where:

{{ $pages := where .Site.RegularPages "Type" "not in" (slice "page" "about") }}
{{ $pages = $pages | union (where .Site.RegularPages "Params.pinned" true) }}
{{ $pages = $pages | intersect (where .Site.RegularPages "Params.images" "!=" nil) }}

The above fetches regular pages not of page or about type unless they are pinned. And finally, we exclude all pages with no images set in Page parameters.

See intersect for AND.